На сегодняшний день считается, что человеческий мозг состоит примерно из 86 миллиардов нейронов, между которыми существует синаптическая (говоря грубо — электрическая) связь. Искусственные нейросети, даже самые мощные и масштабные, намного «беднее» и, следовательно, намного менее производительны — они по-прежнему претендуют в лучшем случае на модель мозга, но никак не на полноценный искусственный мозг.
Классическая и самая простая нейронная сеть, или персептрон, выглядит очень просто: есть слой нейронов-рецепторов, которые принимают информацию извне. В зависимости от настроек, они либо передают сигнал дальше в сеть, либо нет. Следующий слой нейронов принимает сигналы с рецепторов (как правило, нескольких), обрабатывает их в соответствии с заданным алгоритмом и, если результат достигает определённого — порогового — значения, передают информацию дальше, выходному слою нейронов, которые
и выдают результат.
Учитывая структуру ИНС — множество нейронов, разделённых на слои — любая подобная сеть производит параллельные вычисления. Некую последовательность даёт слойность, но весьма условную и фактически нивелируемую двусторонним обменом данных между нейронами на разных слоях.
Также важно отметить, что каждый нейрон обладает так называемым весовым коэффициентом — говоря простым языком, коэффициентом значимости для нейронов, с которыми он связан. Именно это и определяет важнейшую функцию ИНС — способность самообучаться.
Суть обучаемости ИНС
Прежде всего, что такое обучаемость? Грубо говоря, это способность понять, что конечный результат неверный, и изменить действия для получения верного в этой и аналогичных ситуациях. Как это делает нейросеть? Точно так же, как нейроны в человеческом мозге: в зависимости от поступающей информации, интенсивность синаптической связи между ними может изменяться. В ИНС каждый нейрон обладает определённым весовым коэффициентом, который изменяется в зависимости от правильности/неправильности полученного результата.
Правильность ответа определяется человеком или классической (то есть не нейро-) программой на основе обучающей выборки с метками (например: «Это — машина. Это — не машина»). Имея некое количество правильных ответов, ИНС может дать верный результат вне обучающей выборки. Такое машинное обучение называется обучением с учителем.
В простой ИНС с минимальным количеством «двоичных» нейронов такое обучение занимает очень много времени, а результат слишком незначительный. Поэтому с годами ИНС становились всё сложнее: появлялись дополнительные скрытые слои (в каждой функциональной единице человеческого мозга их всего шесть), а достижением, определяющим будущее ИНС, стали нейроны с двусторонней связью. Такие нейросети получили название рекуррентных, в них
нейроны «перекидывают» информацию между собой по несколько раз, меняя свои весовые коэффициенты, до тех пор, пока последний слой не выдаёт правильный ответ. Правильность ответа регулируется автоматически на основе анализа данных обучающей выборки без каких-либо меток. Это обучение без учителя. Когда нейросеть выдаёт результат и только потом получает информацию о его правильности/неправильности — это обучение с подкреплением.
Выбор типа обучения той или иной ИНС определяется задачами, для которой создаётся сеть. Обучение с учителем идеально для определения объектов на фотографии; без учителя — для задач структуризации, упорядочивания больших объёмов данных; с подкреплением — для прогнозирования, когда входные данные постоянно меняются.
Кроме классификации по способу обучения, сети делятся на разные виды по структуре, характеру связей, типу входных данных и другим характеристикам.
Скажем, для распознавания изображений используются так называемые свёрточные сети. Принцип их работы почерпнут из принципов работы зрительной коры мозга. От конкретных особенностей изображения нейросеть переходит к более абстрактным деталям, и далее к ещё более абстрактным деталям вплоть до выделения понятий высокого уровня. В качестве примера рассмотрим ИНС, анализирующую данные с дорожной камеры видеонаблюдения. Её первая задача — определить автомобиль в кадре. Затем следующие задачи: скорость автомобиля, пристёгнут ли ремень безопасности, не числится ли машина в угоне (для этого нужно считать номер и провести сверку с базой данных) и так далее. Опционально: определить цвет и марку автомобиля (если он в угоне), найти информацию о водителе, владельце. Всё это способна сделать одна правильно обученная свёрточная нейросеть при наличии достаточного количества ресурсов.
Возникает логичный вопрос: каков вообще теоретически известный предел развития нейросетей, насколько «умными» они могут стать? Мы решили задать этот вопрос специалисту по ИНС.
«Есть два серьёзных ограничения — количество различных данных для обучения и вычислительные мощности, на которых можно учиться. Нейросети могут решать задачи с понятными условиями и понятными критериями успешности. Например, в распознавании голоса есть понятный критерий качества: количество правильно распознанных слов. А в задаче написания литературного произведения непонятно, как оценивать прогресс, поэтому такая задача для обучения нейронной сети пока видится нерешаемой», - руководитель службы компьютерного зрения «Яндекса» Александр Крайнов.