Как работает искусственная нейронная сеть

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

Антон Бердников, математик-программист:

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

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

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

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

Антон Бердников, математик-программист:

«Мы знаем, что происходит в нейроне и можем это имитировать»

Искусственный нейрон имеет 3 функции: суммирование, расчет результата функции активации, активацию.

 

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

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

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

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


Говорим синапс — представляем связь, говорим связь, представляем синапс. Для тех, кто любит визуализацию, можем предложить аналог из фильма «Аватар». Синапс — это «Цахейлу» между нейронами.

Как работает функция активации?

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

Как хранится в памяти фисташковое мороженое и причем здесь графы

Перед тем, как коснуться темы осмысленной работы, необходимо определиться с тем, как работает память в нейронной сети.

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

Антон Бердников:

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

 

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


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

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

Как рождается осмысленность

У искусственной нейронной сети есть «учителя». Ими могут быть отдельные программы, часть самой нейронной сети или другая нейронная сеть. Если учитель есть в составе искусственной НС, то ее называют самообучающейся.

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

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

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

Наши новые хозяева

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

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

Это первая публикация из цикла статей, посвященных проблемам сознания и искусственного интеллекта. Ждем вашей обратной связи. Спасибо за внимание!