Нейронные сети головного мозга

Выживанием единым

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

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

В этом же самообмане мозга и кроется проблема. Когда он, делая что-то объективно вредное, внутренне убежден, что это способствует нашему выживанию. И наоборот: полезное поведение сопровождается стрессом и трактуется мозгом как угроза выживанию.

Именно этому механизму и работе с ним и посвящена сия часть статьи.

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

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

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

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

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

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

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

входные данные (input data) и выходные данные (output data). В случае входного нейрона: input=output. В остальных, в поле input попадает суммарная информация всех нейронов с предыдущего слоя, после чего, она нормализуется, с помощью функции активации (пока что просто представим ее f(x)) и попадает в поле output.

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

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

7 Входные данные нейрона Н1 будут следующими: 1*0.4 0*0.7=0.4. Теперь когда у нас есть входные данные, мы можем получить выходные данные, подставив входное значение в функцию активации (подробнее о ней далее). Теперь, когда у нас есть выходные данные, мы передаем их дальше. И так, мы повторяем для всех слоев, пока не дойдем до выходного нейрона.

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

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

Линейная функция

Нейронные сети головного мозга

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

Сигмоид

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

Гиперболический тангенс

Разгадка наших симпатий и антипатий

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

Бывают, конечно, хорошие ситуации. Например, если родители всегда хвалили ребенка за его умение управляться с компьютером, то у него в мозгу будут сформированы мощные нервные пути, «отполированные» серотонином и дофамином. В итоге это занятие станет для него прочным источником удовольствия, он будет работать в этом направлении и преуспеет.

Но может быть и наоборот: это занятие сопровождалось негативом, «отполировавшим» этот нейронный путь кортизолом. В итоге человек ненавидит какой-то род деятельности, и может уже даже не помнить, почему.

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

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

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

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

И эта железобетонная связь, подпитанная приятным гормональным выплеском, даже если она ведет к объективно фиговому результату (безработица, скандалы, ожирение, болезни), субъективно мозгом всё равно воспринимается как приятная и нужная.

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

2. повторному опыту (чем больше повторений, тем, опять-таки, крепче связь).

via GIPHY

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

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

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

Как тогда разлюбить вредное и полюбить полезное

Нейронные сети головного мозга

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

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

Эти нейронные дорожки укоренились лишь потому, что когда-то связались у нас с теми самыми «гормонами радости». Когда-то наш мозг связал (возможно, ошибочно) эти действия с выживанием, они подкрепились позитивной эмоцией с повторами, и всё, приехали.

Алгоритм действий

1. Строить новые нейронные связи на основе старых.

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

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

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

Нейронные сети головного мозга

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

2. Всегда заменять нежелательное поведение чем-то приятным, но не вредным.

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

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

В мультсериале «Эй, Арнольд!» была милая серия о мальчике, зависимом от шоколада. Ему посоветовали заменить шоколад морковкой, и в итоге он стал зависим от морковки. В какой-то мере, именно так это и работает.

3. Преодолевать начальное чувство отторжения.

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

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

4. Повторять нужное поведение регулярно даже «через не хочу».

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

Если поведение активируется постоянно, передача электрических сигналов в этой нейронной сети становится всё эффективнее, и всё крепче связывается с выработкой «гормонов счастья».

Если же нейроны долго не активны, они исчезают.

image

В этом — вся гибкость и экономность природы.

У вас может уйти от нескольких дней до нескольких месяцев на то, чтобы нужное поведение связалось с «позитивными гормонами». Придется активно задействовать ресурсы префронтальной коры для самоконтроля. Вас будет тянуть на старое поведение, может быть чувство тревоги, беспокойства или скуки. Но если выполните все 3 условия, всё 100% получится! Просто будьте готовы, что получаться может «со скрипом», и что это нормально.

Статья написана по книге Лоретты Бройнинг «Гормоны счастья: как приучить мозг вырабатывать серотонин, дофамин, эндорфин и окситоцин». Лоретта Бройнинг — кандидат наук, заслуженный профессор Калифорнийского университета и автор нескольких книг.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl Enter (на Mac тоже Ctrl Enter). Спасибо!

Эпоха

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

не путать итерацию с эпохой и понимать последовательность их инкремента. Сначала n

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

Ошибка

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

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

Задача

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

Данные: I1=1, I2=0, w1=0.45, w2=0.78 ,w3=-0.12 ,w4=0.13 ,w5=1.5 ,w6=-2.3.

Решение

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

O1ideal = 1 (0xor1=1)

Error = ((1-0.33)^2)/1=0.45

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

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

Использованные ресурсы:— Раз— Два— Три

Понравилась статья? Поделиться с друзьями:
Полезный инфопортал