что такое нейрон в нейронной сети

Нейронные сети для начинающих. Часть 1

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.

Первым и самым важным моим открытием был плейлист американского программиста Джеффа Хитона, в котором он подробно и наглядно разбирает принципы работы нейронных сетей и их классификации. После просмотра этого плейлиста, я решил создать свою нейронную сеть, начав с самого простого примера. Вам наверняка известно, что когда ты только начинаешь учить новый язык, первой твоей программой будет Hello World. Это своего рода традиция. В мире машинного обучения тоже есть свой Hello world и это нейросеть решающая проблему исключающего или(XOR). Таблица исключающего или выглядит следующим образом:

abc
000
011
101
110

Соответственно, нейронная сеть берет на вход два числа и должна на выходе дать другое число — ответ. Теперь о самих нейронных сетях.

Что такое нейронная сеть?

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Нейронная сеть — это последовательность нейронов, соединенных между собой синапсами. Структура нейронной сети пришла в мир программирования прямиком из биологии. Благодаря такой структуре, машина обретает способность анализировать и даже запоминать различную информацию. Нейронные сети также способны не только анализировать входящую информацию, но и воспроизводить ее из своей памяти. Заинтересовавшимся обязательно к просмотру 2 видео из TED Talks: Видео 1, Видео 2). Другими словами, нейросеть это машинная интерпретация мозга человека, в котором находятся миллионы нейронов передающих информацию в виде электрических импульсов.

Какие бывают нейронные сети?

Пока что мы будем рассматривать примеры на самом базовом типе нейронных сетей — это сеть прямого распространения (далее СПР). Также в последующих статьях я введу больше понятий и расскажу вам о рекуррентных нейронных сетях. СПР как вытекает из названия это сеть с последовательным соединением нейронных слоев, в ней информация всегда идет только в одном направлении.

Для чего нужны нейронные сети?

Нейронные сети используются для решения сложных задач, которые требуют аналитических вычислений подобных тем, что делает человеческий мозг. Самыми распространенными применениями нейронных сетей является:

Классификация — распределение данных по параметрам. Например, на вход дается набор людей и нужно решить, кому из них давать кредит, а кому нет. Эту работу может сделать нейронная сеть, анализируя такую информацию как: возраст, платежеспособность, кредитная история и тд.

Предсказание — возможность предсказывать следующий шаг. Например, рост или падение акций, основываясь на ситуации на фондовом рынке.

Распознавание — в настоящее время, самое широкое применение нейронных сетей. Используется в Google, когда вы ищете фото или в камерах телефонов, когда оно определяет положение вашего лица и выделяет его и многое другое.

Теперь, чтобы понять, как же работают нейронные сети, давайте взглянем на ее составляющие и их параметры.

Что такое нейрон?

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Нейрон — это вычислительная единица, которая получает информацию, производит над ней простые вычисления и передает ее дальше. Они делятся на три основных типа: входной (синий), скрытый (красный) и выходной (зеленый). Также есть нейрон смещения и контекстный нейрон о которых мы поговорим в следующей статье. В том случае, когда нейросеть состоит из большого количества нейронов, вводят термин слоя. Соответственно, есть входной слой, который получает информацию, n скрытых слоев (обычно их не больше 3), которые ее обрабатывают и выходной слой, который выводит результат. У каждого из нейронов есть 2 основных параметра: входные данные (input data) и выходные данные (output data). В случае входного нейрона: input=output. В остальных, в поле input попадает суммарная информация всех нейронов с предыдущего слоя, после чего, она нормализуется, с помощью функции активации (пока что просто представим ее f(x)) и попадает в поле output.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Важно помнить, что нейроны оперируют числами в диапазоне [0,1] или [-1,1]. А как же, вы спросите, тогда обрабатывать числа, которые выходят из данного диапазона? На данном этапе, самый простой ответ — это разделить 1 на это число. Этот процесс называется нормализацией, и он очень часто используется в нейронных сетях. Подробнее об этом чуть позже.

Что такое синапс?

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Синапс это связь между двумя нейронами. У синапсов есть 1 параметр — вес. Благодаря ему, входная информация изменяется, когда передается от одного нейрона к другому. Допустим, есть 3 нейрона, которые передают информацию следующему. Тогда у нас есть 3 веса, соответствующие каждому из этих нейронов. У того нейрона, у которого вес будет больше, та информация и будет доминирующей в следующем нейроне (пример — смешение цветов). На самом деле, совокупность весов нейронной сети или матрица весов — это своеобразный мозг всей системы. Именно благодаря этим весам, входная информация обрабатывается и превращается в результат.

Важно помнить, что во время инициализации нейронной сети, веса расставляются в случайном порядке.

Как работает нейронная сеть?

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

В данном примере изображена часть нейронной сети, где буквами I обозначены входные нейроны, буквой H — скрытый нейрон, а буквой w — веса. Из формулы видно, что входная информация — это сумма всех входных данных, умноженных на соответствующие им веса. Тогда дадим на вход 1 и 0. Пусть w1=0.4 и w2 = 0.7 Входные данные нейрона Н1 будут следующими: 1*0.4+0*0.7=0.4. Теперь когда у нас есть входные данные, мы можем получить выходные данные, подставив входное значение в функцию активации (подробнее о ней далее). Теперь, когда у нас есть выходные данные, мы передаем их дальше. И так, мы повторяем для всех слоев, пока не дойдем до выходного нейрона. Запустив такую сеть в первый раз мы увидим, что ответ далек от правильно, потому что сеть не натренирована. Чтобы улучшить результаты мы будем ее тренировать. Но прежде чем узнать как это делать, давайте введем несколько терминов и свойств нейронной сети.

Функция активации

Функция активации — это способ нормализации входных данных (мы уже говорили об этом ранее). То есть, если на входе у вас будет большое число, пропустив его через функцию активации, вы получите выход в нужном вам диапазоне. Функций активации достаточно много поэтому мы рассмотрим самые основные: Линейная, Сигмоид (Логистическая) и Гиперболический тангенс. Главные их отличия — это диапазон значений.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Эта функция почти никогда не используется, за исключением случаев, когда нужно протестировать нейронную сеть или передать значение без преобразований.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Это самая распространенная функция активации, ее диапазон значений [0,1]. Именно на ней показано большинство примеров в сети, также ее иногда называют логистической функцией. Соответственно, если в вашем случае присутствуют отрицательные значения (например, акции могут идти не только вверх, но и вниз), то вам понадобиться функция которая захватывает и отрицательные значения.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Имеет смысл использовать гиперболический тангенс, только тогда, когда ваши значения могут быть и отрицательными, и положительными, так как диапазон функции [-1,1]. Использовать эту функцию только с положительными значениями нецелесообразно так как это значительно ухудшит результаты вашей нейросети.

Тренировочный сет

Тренировочный сет — это последовательность данных, которыми оперирует нейронная сеть. В нашем случае исключающего или (xor) у нас всего 4 разных исхода то есть у нас будет 4 тренировочных сета: 0xor0=0, 0xor1=1, 1xor0=1,1xor1=0.

Итерация

Это своеобразный счетчик, который увеличивается каждый раз, когда нейронная сеть проходит один тренировочный сет. Другими словами, это общее количество тренировочных сетов пройденных нейронной сетью.

Эпоха

При инициализации нейронной сети эта величина устанавливается в 0 и имеет потолок, задаваемый вручную. Чем больше эпоха, тем лучше натренирована сеть и соответственно, ее результат. Эпоха увеличивается каждый раз, когда мы проходим весь набор тренировочных сетов, в нашем случае, 4 сетов или 4 итераций.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Важно не путать итерацию с эпохой и понимать последовательность их инкремента. Сначала n
раз увеличивается итерация, а потом уже эпоха и никак не наоборот. Другими словами, нельзя сначала тренировать нейросеть только на одном сете, потом на другом и тд. Нужно тренировать каждый сет один раз за эпоху. Так, вы сможете избежать ошибок в вычислениях.

Ошибка

Ошибка — это процентная величина, отражающая расхождение между ожидаемым и полученным ответами. Ошибка формируется каждую эпоху и должна идти на спад. Если этого не происходит, значит, вы что-то делаете не так. Ошибку можно вычислить разными путями, но мы рассмотрим лишь три основных способа: Mean Squared Error (далее MSE), Root MSE и Arctan. Здесь нет какого-либо ограничения на использование, как в функции активации, и вы вольны выбрать любой метод, который будет приносить вам наилучший результат. Стоит лишь учитывать, что каждый метод считает ошибки по разному. У Arctan, ошибка, почти всегда, будет больше, так как он работает по принципу: чем больше разница, тем больше ошибка. У Root MSE будет наименьшая ошибка, поэтому, чаще всего, используют MSE, которая сохраняет баланс в вычислении ошибки.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Принцип подсчета ошибки во всех случаях одинаков. За каждый сет, мы считаем ошибку, отняв от идеального ответа, полученный. Далее, либо возводим в квадрат, либо вычисляем квадратный тангенс из этой разности, после чего полученное число делим на количество сетов.

Задача

Теперь, чтобы проверить себя, подсчитайте результат, данной нейронной сети, используя сигмоид, и ее ошибку, используя MSE.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

H1input = 1*0.45+0*-0.12=0.45
H1output = sigmoid(0.45)=0.61

H2input = 1*0.78+0*0.13=0.78
H2output = sigmoid(0.78)=0.69

O1input = 0.61*1.5+0.69*-2.3=-0.672
O1output = sigmoid(-0.672)=0.33

Результат — 0.33, ошибка — 45%.

Большое спасибо за внимание! Надеюсь, что данная статья смогла помочь вам в изучении нейронных сетей. В следующей статье, я расскажу о нейронах смещения и о том, как тренировать нейронную сеть, используя метод обратного распространения и градиентного спуска.

Источник

Нейронные сети в картинках: от одного нейрона до глубоких архитектур

Многие материалы по нейронным сетям сразу начинаются с демонстрации довольно сложных архитектур. При этом самые базовые вещи, касающиеся функций активаций, инициализации весов, выбора количества слоёв в сети и т.д. если и рассматриваются, то вскользь. Получается начинающему практику нейронных сетей приходится брать типовые конфигурации и работать с ними фактически вслепую.

В статье мы пойдём по другому пути. Начнём с самой простой конфигурации — одного нейрона с одним входом и одним выходом, без активации. Далее будем маленькими итерациями усложнять конфигурацию сети и попробуем выжать из каждой из них разумный максимум. Это позволит подёргать сети за ниточки и наработать практическую интуицию в построении архитектур нейросетей, которая на практике оказывается очень ценным активом.

Иллюстративный материал

Популярные приложения нейросетей, такие как классификация или регрессия, представляют собой надстройку над самой сетью, включающей два дополнительных этапа — подготовку входных данных (выделение признаков, преобразование данных в вектор) и интерпретацию результатов. Для наших целей эти дополнительные стадии оказываются лишними, т.к. мы смотрим не на работу сети в чистом виде, а на некую конструкцию, где нейросеть является лишь составной частью.

Фреймворк

Для демонстрации конфигураций и результатов предлагаю взять популярный фреймворк Keras, написанный на Python. Хотя вы можете использовать любой другой инструмент для работы с нейросетями — чаще всего различия будут только в наименованиях.

Самая простая нейросеть

Самой простой из возможных конфигураций нейросетей является один нейрон с одним входом и одним выходом без активации (или можно сказать с линейной активацией f(x) = x):

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

N.B. Как видите, на вход сети подаются два значения — x и единица. Последняя необходима для того, чтобы ввести смещение b. Во всех популярных фреймворках входная единица уже неявно присутствует и не задаётся пользователем отдельно. Поэтому здесь и далее будем считать, что на вход подаётся одно значение.

Несмотря на свою простоту эта архитектура уже позволяет делать линейную регрессию, т.е. приближать функцию прямой линией (часто с минимизацией среднеквадратического отклонения). Пример очень важный, поэтому предлагаю разобрать его максимально подробно.

Как видите, наша простейшая сеть справилась с задачей приближения линейной функции линейной же функцией на ура. Попробуем теперь усложнить задачу, взяв более сложную функцию:

Опять же, результат вполне достойный. Давайте посмотрим на веса нашей модели после обучения:

Первое число — это вес w, второе — смещение b. Чтобы убедиться в этом, давайте нарисуем прямую f(x) = w * x + b:

Усложняем пример

Хорошо, с приближением прямой всё ясно. Но это и классическая линейная регрессия неплохо делала. Как же захватить нейросетью нелинейность аппроксимируемой функции?

Давайте попробуем накидать побольше нейронов, скажем пять штук. Т.к. на выходе ожидается одно значение, придётся добавить ещё один слой к сети, который просто будет суммировать все выходные значения с каждого из пяти нейронов:

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

И… ничего не вышло. Всё та же прямая, хотя матрица весов немного разрослась. Всё дело в том, что архитектура нашей сети сводится к линейной комбинации линейных функций:

f(x) = w1′ * (w1 * x + b1) +… + w5′ (w5 * x + b5) + b

Т.е. опять же является линейной функцией. Чтобы сделать поведение нашей сети более интересным, добавим нейронам внутреннего слоя функцию активации ReLU (выпрямитель, f(x) = max(0, x)), которая позволяет сети ломать прямую на сегменты:

Максимальное количество сегментов совпадает с количеством нейронов на внутреннем слое. Добавив больше нейронов можно получить более точное приближение:

Дайте больше точности!

Уже лучше, но огрехи видны на глаз — на изгибах, где исходная функция наименее похожа на прямую линию, приближение отстаёт.

В качестве стратегии оптимизации мы взяли довольно популярный метод — SGD (стохастический градиентный спуск). На практике часто используется его улучшенная версия с инерцией (SGDm, m — momentum). Это позволяет более плавно поворачивать на резких изгибах и приближение становится лучше на глаз:

Усложняем дальше

Синус — довольно удачная функция для оптимизации. Главным образом потому, что у него нет широких плато — т.е. областей, где функция изменяется очень медленно. К тому же сама функция изменяется довольно равномерно. Чтобы проверить нашу конфигурацию на прочность, возьмём функцию посложнее:

Увы и ах, здесь мы уже упираемся в потолок нашей архитектуры.

Дайте больше нелинейности!

Давайте попробуем заменить служивший нам в предыдущих примерах верой и правдой ReLU (выпрямитель) на более нелинейный гиперболический тангенс:

Инициализация весов — это важно!

Приближение стало лучше на сгибах, но часть функции наша сеть не увидела. Давайте попробуем поиграться с ещё одним параметром — начальным распределением весов. Используем популярное на практике значение ‘glorot_normal’ (по имени исследователя Xavier Glorot, в некоторых фреймворках называется XAVIER):

Уже лучше. Но использование ‘he_normal’ (по имени исследователя Kaiming He) даёт ещё более приятный результат:

Как это работает?

Давайте сделаем небольшую паузу и разберёмся, каким образом работает наша текущая конфигурация. Сеть представляет из себя линейную комбинацию гиперболических тангенсов:

f(x) = w1′ * tanh(w1 * x + b1) +… + w5′ * tanh(w5 * x + b5) + b

На иллюстрации хорошо видно, что каждый гиперболический тангенс захватил небольшую зону ответственности и работает над приближением функции в своём небольшом диапазоне. За пределами своей области тангенс сваливается в ноль или единицу и просто даёт смещение по оси ординат.

За границей области обучения

Давайте посмотрим, что происходит за границей области обучения сети, в нашем случае это [-3, 3]:

Как и было понятно из предыдущих примеров, за границами области обучения все гиперболические тангенсы превращаются в константы (строго говоря близкие к нулю или единице значения). Нейронная сеть не способна видеть за пределами области обучения: в зависимости от выбранных активаторов она будет очень грубо оценивать значение оптимизируемой функции. Об этом стоит помнить при конструировании признаков и входных данный для нейросети.

Идём в глубину

До сих пор наша конфигурация не являлась примером глубокой нейронной сети, т.к. в ней был всего один внутренний слой. Добавим ещё один:

Можете сами убедиться, что сеть лучше отработала проблемные участки в центре и около нижней границы по оси абсцисс:

N.B. Слепое добавление слоёв не даёт автоматического улучшения, что называется из коробки. Для большинства практических применений двух внутренних слоёв вполне достаточно, при этом вам не придётся разбираться со спецэффектами слишком глубоких сетей, как например проблема исчезающего градиента. Если вы всё-таки решили идти в глубину, будьте готовы много экспериментировать с обучением сети.

Количество нейронов на внутренних слоях

Просто поставим небольшой эксперимент:

Начиная с определённого момента добавление нейронов на внутренние слои не даёт выигрыша в оптимизации. Неплохое практическое правило — брать среднее между количеством входов и выходов сети.

Источник

ВВЕДЕНИЕ В КОГНИТИВНЫЕ НЕЙРОНАУКИ. Глава 3. Нейроны и связи между ними.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Глава 3. Нейроны и связи между ними.

Что мы знаем о процессах, происходящих на уровне нейронов? Можем ли мы сейчас построить непротиворечивую теорию относительно событий на этом уровне?

Основными клетками мозга являются нейроны, высококонсервативные с эволюционной точки зрения. Они сохранялись в относительно неизменном виде в течение многих сотен миллионов лет, и даже очень разные виды животных имеют одинаковые типы нейронов. Со многих точек зрения нейроны не отличаются от остальных клеток, но есть то, что выделяет их среди остальных: специализация на электрохимической сигнализации, благодаря которой они способны принимать входящий сигнал на дендритах и посылать электрохимический сигнал вдоль аксона. Весь мозг можно рассматривать как сверхсложную структуру, состоящую из связанных между собой нейронов.

Дендритами и аксонами называют выросты тела нейрона; один нейрон может иметь до десяти тысяч дендритов и один аксон.

Потенциал действия (ПД) проходит по аксону значительно медленнее, чем электрический ток в компьютере, однако многие задачи наш мозг выполняет гораздо лучше современных компьютеров. В настоящее время компьютеры далеко отстоят от человека в задачах восприятия, языковой коммуникации, семантической памяти, контроля движения и творчества.

Нейробиология концентрирует внимание на связи и взаимодействии нейронов. Рассмотрение таких связей удобно начинать как раз с генерализованного нейрона.

Классические нейроны соединяются при помощи синапсов, которые могут быть возбуждающими и тормозящими.

Активность нейрона опосредована десятками факторов — циклом сна и бодрствования, доступностью предшественников нейромедиаторов и многими другими. Все эти факторы влияют на вероятность прохождения сигнала между двумя нейронами и могут быть представлены в виде синаптических весов. Таким образом, все разнообразие нейронов можно с успехом представить в виде интегративного нейрона, а все способы межнейронной коммуникации — в форме вероятности прохождения сигнала между нейронами.

Существует по меньшей мере шесть основных нейромедиаторов и не менее тридцати «менее важных», в основном являющихся нейропептидами.

Даже дендриты отдельной клетки, по всей видимости, способны к обработке информации. Имеются также данные, что способна принимать участие в обработке информации и нейроглия — поддерживающая ткань нервной системы.

На настоящий момент известно о существовании в некоторых частях взрослого головного мозга стволовых клеток. Образование новых синапсов идет в течение всей жизни; для образования новых синапсов отростки дендритов способны образовываться за несколько минут.

1.3. Обработка информации нейронами.

Искусственные нейронные сети использовались для моделирования многих функций мозга — распознавания элементов изображений, управления роботами, обучения и улучшения функционирования на основе опыта.

Во многих случаях такие сети выполняли задачи лучше, чем компьютерные программы, основанные на логике и математике.

Так же, они помогают нам понять принципы работы реальных нейронных сетей в мозге.

Нейросети помогают нам понять работу нервной системы.

Так искусственные нейросети могут служить моделями для изучения реальных структур в мозге.

Мы ограничимся рассмотрением синапсов только двух типов — возбуждающего (повышающего вероятность прохождения ПД (Потенциал действия) на постсинаптическом нейроне) и тормозящего (понижающего такую вероятность).

Глутамат — наиболее распространенный медиатор в ЦНС — является возбуждающим.

ГАМК (гаммаАминоМасляная кислота) является наиболее распространенным тормозным медиатором.

В нервной системе распространены массивы нейронов, часто именуемые картами.

2.1. Упрощенный случай: рецепторы, пути и контуры.

Каждый сенсорный нерв может содержать несколько параллельных каналов, каждый из которых проводит несколько различающуюся информацию. Так, зрительный тракт имеет канал передачи цвета, называемый мелкоклеточным, и канал передачи формы и размеров объекта, называемый крупноклеточным.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети
Точно так же соматосенсорные пути сочетают каналы передачи прикосновения, давления, боли и некоторые другие.

Большинство сенсорных волокон оканчиваются в таламусе, где они передают сигнал нейронам, оканчивающимся в коре.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети
(рис. 3.10 и 3.11)
что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети
Таким образом, в большинстве сигнальных путей существуют петли обратной связи — такие, как в нейросети с двумя или более слоями.

С этой точки зрения мозг представляется системой воздействующих друг на друга массивов и сетей.

Массивы нейронов представляет собой двумерную сеть нейронов.

Когда массивы соответствуют пространственной организации той или иной структуры, их называют картами.

В мозге имеет место как временное, так и пространственное кодирование, наряду со многими другими способами кодирования и обработки информации.

Пространственные карты являются наиболее наглядной формой пространственного кодирования.

Таким образом, даже информация от не ассоциированных с пространством органов чувств обрабатывается массивами и картами нейронов.

Наш мозг организует огромные количества входящей информации так, чтобы отражать положение окружающих объектов. Моторная кора, как вы можете догадаться, также выглядит как непропорциональная карта скелетных мышц тела.

Главным вопросом относительно сенсорики на сегодняшний день яляется вопрос о том, как осуществляется высокоуровневая обработка воспринятой информации. И модель нейросетей предоставляет один из возможных ответов.

Мозг постоянно корректирует работу моторных систем на основании сенсорной информации и адаптирует сенсорные системы при помощи моторной активности.

Сенсорные системы можно представить в виде иерархических систем, состоящих из иерархических систем низшего порядка, начиная с рецепторов и постепенно переходя ко все более сложным объектам.

Идет непрерывный обмен информацией между двумя системами в процессе цикла от восприятия до действия, начиная с наинизшего и заканчивая высшими уровнями планирования, мышления и анализа возможного развития событий

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети
(рис. 3.20 Иерархическая система из области архитектуры).

В схеме иерархической системы обработки информации, каждый массив нейронов назван картой; карты существуют на разных уровнях, и сигнал может идти вверх, вниз и к другой карте того же уровня.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

При рассмотрении электрической активности десятков миллиардов нейронов мозг поневоле начинает казаться огромным оркестром, а не одним инструментом. За сотни миллионов лет эволюции в мозге появились нейроны с самыми разными видами временного и пространственного кодирования (блок 3.1).

В путях следования информации имеется множество точек выбора, с которых она может быть направлена по нескольким различным путям или быть передана на уровень выше или ниже.

Если вернуться к ступенчатой пирамиде, то такой разветвленный путь похож на путь человека к вершине: он может достигнуть ее прямым или окружным путем.

Зрительная картина мира подвержена постоянным изменениям. Однако мозг тем не менее ведет обработку таких изменений. Животное не может позволить себе не заметить хищника, прячущегося в траве, только потому, что сейчас закат, или потому, что на него падает тень.

Для того чтобы выжить, мы должны были иметь превосходную зрительную систему.

Вот, например, кошка, выслеживающая жертву, может осматривать дерево только одним глазом, тогда как другой глаз остается пассивным. Это приводит к явлению бинокулярной конкуренции — конкуренции между зрительными входами от разных глаз.

Многие животные получают от разных глаз совершенно разные входы — такие животные, как кролики и олени, вообще не имеют участков перекрытия полей зрения, поэтому для них явление бинокулярной конкуренции невозможно.

Мозг постоянно имеет некоторые ожидания относительно встречаемых им внешних условий. Спускаясь по лестнице в темноте, мы ожидаем, что под ногой будет ступенька.

При анализе неоднозначно трактуемых объектов ожидание обусловливает выбор наиболее приемлемого варианта трактовки. Многие слова в языке имеют больше одного значения, поэтому, даже читая это, вы вынуждены иметь дело с неоднозначностями. Мозг опирается не только на входящую информацию — он имеет множество причин выбора того или иного варианта, основанных на предсказании результата и ожидании.

Селективное внимание позволяет нам динамически изменять свои сенсорные предпочтения, а долговременная память увеличивает силу синапсов, ответственных за точное восприятие.

Многие ученые считают, что всю кору целиком, наряду с сопутствующими областями, такими как таламус, следует рассматривать как одну функциональную единицу. Ее часто называют таламокортикальной системой.

Одним из основных свойств поведения животных является способность адаптироваться.

Основным свойством мозга, таким образом, является приспособляемость. Однако какие изменения в структуре самого мозга приводят к такой приспособляемости?

Для этих целей гораздо лучше подходят методы визуализации структур мозга, получившие интенсивное развитие в два прошедших десятилетия.

Хотя большая часть методов визуализации ориентирована на конкретную область, подчеркивая тем самым функциональное разделение, а не интеграцию, были предприняты попытки изучения обучения как системного процесса, включающего глобальные изменения структуры и функций мозга.

Развитие технологии магнитно-резонансной томографии позволило начать изучение изменений структурных компонентов связи — трактов белого вещества — под влиянием обучения.

Как было показано, обучение жонглированию вызывает изменения как в сером, так и в белом веществе мозга.

Данные результаты стали поистине революционными, поскольку долгие годы считалось, что структура мозга неизменна.

Подобные открытия, позволяющие рассматривать мозг как функционально и структурно лабильный орган, вне всякого сомнения являются шагом вперед в нашем понимании процесса обучения.

(4.0. Адаптация и обучение массивов нейронов).

Наиболее известное правило обучения нейросетей, выражаемое в лозунге «neurons that fire together, wire together».

Нейроны, которые срабатывают вместе, соединяются вместе.

(Обучение по Хэббу).

Дональд Хэбб в 1949 г. постулировал, что ассамблеи нейронов способны обучаться благодаря усилению связей между нейронами, активирующимися при стимуляции одновременно.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

В основе обучения и памяти лежит эффективность синаптической связи.

Существует множество способов воздействия на эффективность синаптической передачи. Так, два нейрона могут образовать больше синапсов, в самих синапсах может вырабатываться больше нейромедиатора, рецепторы постсинаптического нейрона могут стать эффективнее.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

В обучении задействовано два типа изменений; их можно рассматривать как усиленное возбуждение и усиленное торможение.

Долговременное усиление возбудимости одного нейрона называют долговременой потенциацией.

Долговременное понижение же — долговременной депрессией. Оба события имеют место в гиппокампе.

Визуально обучение по Хэббу можно представить в виде утолщения линий между узлами сети, как в простой совокупности клеток.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Модели с третьим, скрытым слоем позволяют нейросети изменять силу соединений.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Классическая трехслойная прямая сеть со скрытым слоем и настраиваемой силой взаимодействий может эффективно обучаться путем сопоставления выхода нейросети с желаемым выходом и подстройки силы соединений для достижения желаемого результата.

Процесс носит название обратного распространения ошибки обучения и во многом подобен отрицательной обратной связи.

Сети такого типа на сегодняшний день наиболее распространены.

В самоорганизующейся аутоассоциативной сети выход ставится в соответствие входу.

Такая стратегия полезна при распознавании паттернов, таких как звук знакомого голоса.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Самоорганизующиеся системы используются в природе для решения многих задач.

Сами организмы и их нервные системы можно рассматривать как самоорганизующиеся системы.

Самоорганизующаяся сеть способна справляться с фундаментальой проблемой распознавания человеческих лиц.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети
Человек учится реагировать на нормальные, недеформированные лица в очень ранний период жизни и вскоре становится способен отличать знакомые лица от незнакомых.

Задача, решаемая сетью, гораздо проще решаемой человеком, поскольку в модели происходит только формирование цепи.

Сеть способна обучаться предугадывать расположение рта в нижней части рисунка и двух глаз — в верхней.

4.2. Дарвинистский подход в нервной системе: выживают клетки и синапсы, наиболее приспособленные к данной задаче.

Нейральный дарвинизм предполагает, что нейроны развиваются и соединяются друг с другом в соответствии с дарвинистскими принципами.

Селекционизм — эффективный способ адаптации.

Отбор нейронов приводит к образованию долгоживущих нейронных совокупностей, выполняющих задачи адаптации, обучения, разпознавания паттернов и им подобные.

Нейросети отличаются высоким уровнем параллельности (что означает способность производить много разных вычислений одновременно) и распределенности (способности обрабатывать информацию в разных местах с использованием разных механизмов).

Это говорит о большей близости нейросетей к биологическим способам обработки информации.

Нейронные сети довольно просто перевести на язык математических выражений.

Нейросети способны обрабатывать символьную информацию, а символы могут быть переведены в нейросети.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Обучение нейросети проявляются по мере распознавания сетью входа и отсечения ею альтернативных вариантов.

что такое нейрон в нейронной сети. Смотреть фото что такое нейрон в нейронной сети. Смотреть картинку что такое нейрон в нейронной сети. Картинка про что такое нейрон в нейронной сети. Фото что такое нейрон в нейронной сети

Существует масса способов координации работы нейронов. Одним из них являются масштабные ритмы, координирующие работу больших групп нейронов так же, как дирижер координирует игру симфонического оркестра. Если большая масса нейронов активируется одновременно, то их активность, как правило, суммируется.

Современные данные говорят в пользу гораздо более быстрых гамма- и тета-корреляций на тех частотах, на которых мозг выполняет большую часть этой работы.

Ритмы энцефалограммы на сегодняшний день считаются сигнализирующими о разных, но скоординированных процессах.

К примеру, гамма-ритмы высокой плотности считаются ассоциированными с осознанным зрительным восприятием и процессом решения простой проблемы эквивалентности.

Альфа-ритмы традиционно ассоциируются с отсутствием задач, требующих фокусировки внимания, тогда как тета-ритмы, как полагают на настоящий момент, контролируют гиппокампальную область и фронтальную кору в процессе обращения к долговременной памяти. Дельта-ритмы — сигналы глубокого сна — группируют быструю нейрональную активность с целью консолидации полученных данных.

При проектировании самолета инженеры закладывают в его конструкцию некоторую функциональную избыточность на случай выхода из строя важнейших систем. Так, если откажет один двигатель, то большая часть самолетов будет способна дотянуть до взлетно-посадочной полосы на оставшихся.

Человек и животные также обладают определенной функциональной избыточностью.

Мозга это правило тоже касается. Мозг способен работать даже после получения весьма значительных повреждений.

Латеральное торможение является распространенной стратегией для выделения различий между двумя однородными областями сигнала, такими как темные пятна на светлом фоне.

Клетки сенсорных систем имеют так называемые рецептивные поля, настроенные на определенные параметры входа, такие как ориентация линии, цвет, движение, форма и тип объекта. При повышении уровня визуальных карт их разрешение падает, в то время как способность к интеграции информации растет.

Поскольку сенсорные и моторные системы изучают отдельно друг от друга, мозг представляется нам огромным сенсомоторным органом, делающим возможным непрерывные высокоуровневые взаимодействия между входом и выходом.

Пространственные массивы нейронов делают возможным пространственное кодирование, однако не стоит забывать о том, что в нервной системе имеется еще и кодирование временное. Основные ритмы энцефалограммы, как полагают, отвечают за временную координацию активности больших групп нейронов.

Последние исследования позволяют предположить, что гамма-ритм ответственен за интеграцию сенсорной информации осознанные ощущения, а тета-ритм — за извлечение информации из долговременной памяти.

Контрольные задания к этой главе.

1. Опишите основные функции интегративного нейрона.

2. Что такое латеральное торможение и какую роль оно играет в сенсорных системах?

3. Каким образом сенсорные и моторные системы можно рассматривать в форме иерархических структур?

4. Опишите роль двусторонних взаимодействий в функционировании мозга.

5. Что такое дарвинистский подход к нервной системе и какие аспекты процессов, происходящих в мозге, он затрагивает?

6. Назовите три наиболее общих свойства сенсорных систем.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *