Содержание статьи
Крестный отец нейросетей» уволился из Google
Краткая история Джеффри Хинтона
Проработав в Google более десяти лет, доктор 76-летний Джеффри Хинтон решил покинуть компанию. И дело не только в том, что человек решил уйти на пенсию. Он не стал делать тайну из реальных причин ухода. Наоборот, он подчеркивает, что виной тому сам искусственный интеллект (ИИ), над которым доктор работал много лет. Точнее, те опасности, которые он несет. Словом, г-н Хинтон настроен весьма пессимистично относительно судьбы человечества и воинственно по отношению к ИИ.
В последние годы мы все чаще слышим о нейросетях, которые в ближайшем будущем должны заменить многие профессии. И нам кажется, что идея создания искусственного интеллекта появилась совсем недавно. Однако нейронные сети от первых разработок прошли долгий путь длиной более полувека, и все еще находятся на начальной стадии развития. Нейросеть способна мгновенно обработать большое количество информации и работает по принципу человеческого мозга, но не может решать множество простых задач, с которыми человек сталкивается каждый день – распознавание эмоций, сарказм, понимание иносказаний.
Следующим важным этапом стало создание перцептрона Фрэнком Розенблаттом в 1957 году. Это была первая искусственная нейросеть, способная обучаться. Она стала предшественником многих современных алгоритмов машинного обучения. Однако в те времена не хватало мощности компьютеров, чтобы проводить полноценные исследования, и проект по разработке ИИ был отложен на несколько десятилетий.
Как видно на рисунке справа, у нейрона есть [math]n[/math] входов [math]x_i[/math] , у каждого из которого есть вес [math]w_i[/math] , на который умножается сигнал, проходящий по связи. После этого взвешенные сигналы [math]x_i \cdot w_i[/math] направляются в сумматор, который аггрегирует все сигналы во взвешенную сумму. Эту сумму также называют [math]net[/math] . Таким образом, [math]net = \sum_^ w_i \cdot x_i = w^T \cdot x[/math] .
Однослойный персептрон (англ. Single-layer perceptron) — перцептрон, каждый S-элемент которого однозначно соответствует одному А-элементу, S-A связи всегда имеют вес 1, а порог любого А-элемента равен 1. Часть однослойного персептрона соответствует модели искусственного нейрона.
ChatGPT – одна из самых популярных в мире моделей ИИ, которая обучается понимать и генерировать текст в разных стилях и поддерживать диалоги с пользователями. Нейронная сеть, созданная на архитектуре GPT (Generative Pre-trained Transformer), разработана группой исследователей и инженеров компании OpenAI.
Структура нейронной сети
Однако искусственный интеллект был придуман задолго до сегодняшних технологий. Первыми, кто придумал нейросеть, были американский математик Уоррен Маккаллок и нейрофизиолог Уолтер Питтс. В 1943 году эти ученые создали первую модель биологического нейрона, что стало отправной точкой для развития нейронных сетей в будущем.
Его ключевая особенность состоит в том, что каждый S-элемент однозначно соответствует одному A-элементу, все S-A связи имеют вес, равный +1, а порог A элементов равен 1. Часть однослойного перцептрона, не содержащая входы, соответствует искусственному нейрону, как показано на картинке. Таким образом, однослойный перцептрон — это искусственный нейрон, который на вход принимает только 0 и 1.
Просто так передавать взвешенную сумму [math]net[/math] на выход достаточно бессмысленно — нейрон должен ее как-то обработать и сформировать адекватный выходной сигнал. Для этих целей используют функцию активации, которая преобразует взвешенную сумму в какое-то число, которое и будет являться выходом нейрона. Функция активации обозначается [math]\phi(net)[/math] . Таким образом, выходов искусственного нейрона является [math]\phi(net)[/math] .
Чтобы обучать эту функцию, сначала надо выбрать функцию ошибки, которую потом можно оптимизировать градиентным спуском. Число неверно классифицированных примеров не подходит на эту кандидатуру, потому что эта функция кусочно-гладкая, с массой разрывов: она будет принимать только целые значения и резко меняться при переходе от одного числа неверно классифицированных примеров к другому. Поэтому использовать будем другую функцию, так называемый критерий перцептрона: [math]E_P(w) = -\sum_ y(x)(\sigma(w^T \cdot x))[/math] , где [math]M[/math] — множество примеров, которые перцептрон с весами [math]w[/math] классифицирует неправильно.
Приведем очень грубое, но потому более-менее понятное объяснение (да простят нас программисты). В ходе обучения нейроны одного слоя, а в слое их несколько (сотен, тысяч, миллионов – зависит от сложности нейросети) транслируют получаемый сигнал всем нейронам следующего слоя (каждый нейрон одного слоя связан со всеми нейронами другого слоя). Этот второй (его еще называют скрытым) слой производит вычисления (сетевую или активную функцию) и рассылает результат всем нейронам третьего слоя (выходного слоя). Этот слой тоже вычисляет сетевую функцию и сравнивает результат с вводимыми изначально данными и результатами срединного слоя (слоев). Далее происходит корректировка связей. Так нейросеть и обучается, устраняя ошибки (разногласия) в своих «умозаключениях» (разницу на входе и выходе).
Сегодня мы бросим взгляд на историю создания нейросетей и проследим их путь к современному состоянию. Это важно не только для специалистов в области искусственного интеллекта и компьютерных наук, но и для всех интересующихся, кто придумал нейросеть и какие выдающиеся умы лежат в основе технологий, ставших частью нашей жизни.
Другие создатели нейросетей
Но надо сказать, что Хинтон с коллегами были не первыми, кто предложил этот подход. Первую обучаемую нейросеть еще в 1957 году продемонстрировал психолог Корнеллского университета Фрэнк Розенблатт. Но та сеть была одноуровневой (ограничена в количестве шаблонов обучения), а у Хинтона – многоуровневая. Именно поэтому его и называют не отцом, а «Крестным отцом ИИ», наставником и воспитателем, не родившим, а развившим нейросети до современного уровня.
Если обучать сеть, используя только один входной сигнал, то сеть просто «запомнит правильный ответ», а как только мы подадим немного измененный сигнал, вместо правильного ответа получим бессмыслицу. Мы ждем от сети способности обобщать какие-то признаки и решать задачу на различных входных данных. Именно с этой целью и создаются обучающие выборки.
Вместе с Дэвидом Румелхартом и Рональдом Дж. Уильямсом Хинтон написал одну из самых цитируемых статей в области исследования ИИ – «Изучение представлений путем обратного распространения ошибок». Статья, в которой популяризировался метод обратного распространения для обучения многоуровневых нейронных сетей, была опубликована в 1986 году.
Как видно из схемы однослойной нейронной сети, представленной справа, сигналы [math]x_1, x_2, \ldots x_n[/math] поступают на входной слой (который не считается за слой нейронной сети), а затем сигналы распределяются на выходной слой обычных нейронов. На каждом ребре от нейрона входного слоя к нейрону выходного слоя написано число — вес соответствующей связи.
Кроме того, проект отличается собственным стилем и созданием более качественных изображений высокого уровня детализации, реализма и креативности с использованием текстовых подсказок. Проект стал возможным благодаря обучению модели искусственного интеллекта на огромных объемах данных и изображений.
С появлением больших объемов данных, мощных вычислительных ресурсов и улучшенных алгоритмов, нейронные сети особенно быстро стали развиваться в последнее десятилетие. Из ученых, кто придумывает нейросеть в 2023 году, можно выделить следующие имена: Джеффри Хинтон, Андрю Янг, Джейф Дин, Илья Суцкевер. Ученые активно занимаются исследованием искусственных нейронных сетей и вносят весомый вклад в развитие высоких технологий будущего.