Как нейронные сети создают собственный "Фейсбук"
Представьте, что ваша машина по дороге домой связалась с системой умного дома и предупредила его, что ужин надо будет приготовить на полчаса позже, так как она стоит в пробке. А домашний робот увидел, что зимние штаны совсем протерлись, поэтому предложил купить новые. Вы согласились, а робот, согласно вашим точным размерам и вкусу, подобрал новую вещь, которую доставили в тот же вечер.
Сегодняшние нейронные сети, являющиеся основой искусственного интеллекта для различных, в том числе и бытовых приборов, уже отчасти освоили подобные функции. Они не только способны следовать простым и заранее известным правилам (например, если хозяин приблизился к двери дома, надо ее открыть и подать подогретые тапочки), но и вырабатывать новые сложные знания, делать собственные открытия. Они могут быть отдельными устройствами, но чаще существуют в форме самообучающихся программ в памяти компьютеров.
Важно, что это не аналог мозга, а техническая идея, благодаря которой система может работать похожим образом. Пока ученые слишком мало знают о функционировании человеческого мозга, но уже понятно, что его особые качества определяются связями между нейронами. В структурах нейронных сетей ученые пытаются воспроизвести систему этих связей.
Первая схема базового принципа работы нейронных сетей основана на суммировании полученного опыта, напрямую не относящегося к решению задачи. Допустим, нейронной сети предъявили фотографии лгущих и говорящих правду людей, боящихся и смелых, злящихся или испытывающих другие эмоции. После некоторого обучения нейросеть может определить ложь, страх, злобу и другие эмоции по выражению лица, которое до этого не видела. Также нейросети могут производить знания для использования человеком и переносить их в другие программные продукты. Примерами таких задач являются медицинская диагностика и поиск наилучших вариантов лечения с учетом персональных особенностей пациента.
На данный момент за поведение сети отвечает человек, условный программист. На самом деле он выполняет функции конструктора и тренера-учителя. Человек (им может быть и огромный коллектив людей) обучает сеть, объясняет, когда она неправа, корректирует ее поведение. Но исследователи в области нейроинформатики предложили несколько иной базовый принцип обучения. Ведь каждая нейронная сеть уже обладает знаниями, которые она может передать другой нейронной сети! Почему бы не наладить схему, при которой сети, функционируя в разных условиях, накапливают знания и обмениваются ими?
"Сначала нейронная сеть должна найти среди других сетей наиболее высококвалифицированного учителя, то есть того, чья ошибка при решении ее задач минимальна. Или "комитет учителей", мнение которых в сумме имеет минимальную ошибку. Затем полученная информация встраивается во внутреннюю структуру сети-ученика, он становится более квалифицированным, сам принимает участие в некоторых "комитетах учителей" и осваивает информацию из внешнего мира", - поясняет Александр Горбань, главный научный сотрудник Института Вычислительного Моделирования Сибирского Отделения РАН, специалист в области нейронных сетей.
Такая взаимосвязь будет похожа на социальную сеть, где обмениваться информацией могут люди с разными интересами и возможностями. Если нейронные сети, изначально ориентированные на разные задачи, смогут "найти общий язык", окружающие нас предметы будут работать в связи друг с другом. Вполне возможно, что внутри общего "Фейсбука" для нейронных сетей возникнут разные сообщества: форум нейросетей-автопилотов или, например, чат-обмен мнениями между роботами-хирургами.