В большинстве технологий глубокого обучения используются «сверточные» нейронные сети, в которых узлы каждого слоя кластеризуются, кластеры перекрываются, и каждый кластер передает данные нескольким узлам (оранжевым и зеленым) следующего слоя.
За последние 10 лет самые эффективные системы искусственного интеллекта, такие как разпознавание речи на смартфонах или новейший автоматический переводчик Google, стали результатом технологии, называемой «глубоким обучением».
На самом деле глубокое обучение — это новое название подхода к искусственному интеллекту, который то входит, то выходит из моды уже более 70 лет. Нейронные сети были впервые предложены в 1944 году Уорреном Маккалоу и Уолтером Питтсом, двумя исследователями из Чикагского университета, которые перевелись в Массачусетский технологический институт в 1952 году в качестве основателей направления для изучения когнитивных наук.
Нейронные сети были основной областью исследований как в нейронауке, так и в компьютерных науках до 1969 года, когда, но они были уничтожены математиками Массачусетского технологического института Марвином Мински и Сеймуром Пейпертом, которые считали, что это направление не имеет перспектив.
Затем эта техника возродилась в 1980-х годах, и снова затмилась в первом десятилетии нового века и вернулась во втором, чему в значительной степени способствовала возросшая вычислительная мощность графических чипов.
«Существует мнение, что идеи в науке чем-то напоминают эпидемии вирусов», — говорит Томасо Поджио, профессор мозга и когнитивных наук Юджина Макдермотта в MIT, исследователь Института исследований мозга Макговерна MIT и директор Центра изучения мозга MIT.
«Очевидно, существует пять или шесть основных штаммов вирусов гриппа, и каждый из них возвращается с периодом около 25 лет. Люди заражаются, у них вырабатывается иммунный ответ, и поэтому они не заражаются следующие 25 лет. А потом появляется новое поколение, готовое к заражению тем же штаммом вируса. В науке люди влюбляются в идею, воодушевляются ей, забивают ее до смерти, а затем делают прививку — они устают от нее. Так что идеи должны иметь такую же периодичность!»
Рост важности направления
Нейронные сети — это средство машинного обучения, при котором компьютер учится выполнять какую-либо задачу, анализируя имеющиеся примеры ее решения, это похоже на прецедентное право. Обычно образцы для обучения заранее размечаются вручную. Система распознавания объектов, например, может получать тысячи помеченных изображений автомобилей, домов, кофейных чашек и т.д., и она будет находить визуальные закономерности в изображениях, которые постоянно коррелируют с определенными паттернами.
Смоделированная нейронная сеть состоит из тысяч или даже миллионов простых узлов обработки, тесно связанных между собой. Большинство современных нейронных сетей организованы в виде слоев из этих узлов, и они имеют «упреждающую связь», что означает, что данные проходят через них только в одном направлении. Отдельный узел может быть подключен к нескольким узлам нижнего уровня, от которых он получает данные, и к нескольким узлам верхнего уровня, которым он отправляет данные.
Каждому входящему соединению узел присваивает число, известное как «вес». Когда сеть активна, узел получает другой элемент данных — другое число — по каждому из своих соединений и умножает его на соответствующий вес. Затем он складывает полученные продукты вместе, получая одно число. Если это число ниже порогового значения, узел не передает данные на следующий уровень. Если число превышает пороговое значение, узел «срабатывает», что в современных нейронных сетях обычно означает отправку числа — суммы взвешенных входных данных — по всем его исходящим соединениям.
При обучении нейронной сети ее веса и пороги изначально задаются случайными значениями. Данные для обучения подаются на нижний входной слой и проходят через последующие слои, умножаясь и складываясь сложным образом, пока, наконец, радикально не преобразуются и не достигнут выходного слоя. Во время обучения веса и пороговые значения постоянно корректируются до тех пор, пока данные обучения с одинаковыми метками не будут давать постоянно одинаковые результаты.
Разум и машины
Нейронные сети, описанные Маккалоу и Питтсом в 1944 году, имели пороги и веса, но не были организованы в слои, и исследователи не указали какой-либо механизм их обучения. Маккалоу и Питтс показали, что нейронная сеть, в принципе, может вычислить любую функцию, которую может вычислить и цифровой компьютер. Результатом стала скорее нейронаука, чем компьютерная наука: цель состояла в том, чтобы предположить, что человеческий мозг можно рассматривать как вычислительное устройство.
Нейронные сети продолжают оставаться ценным инструментом нейробиологических исследований. Например, определенные сетевые макеты или правила для настройки весов и порогов воспроизводят наблюдаемые особенности человеческой нейроанатомии и познания, что указывает на то, что они что-то фиксируют в том, как мозг обрабатывает информацию.
Первые обучаемые нейросети
Первая обучаемая нейронная сеть, перцептрон, была продемонстрирована психологом Корнеллского университета Фрэнком Розенблаттом в 1957 году. Персептрон был очень похож на современную нейронную сеть, за исключением того, что он имел только один слой с регулируемыми весами и порогами, зажатый между входными данными, а так же выходные слои.
Персептроны были активной областью исследований как в психологии, так и в зарождающейся дисциплине информатики до 1959 года, когда Мински и Пейперт опубликовали книгу под названием «Персептроны», в которой было показано, что выполнение некоторых довольно распространенных вычислений на персептронах требует непрактично много времени.
«Конечно, все эти ограничения исчезают, если вы берете более сложное оборудование — например, двухслойное», — говорит Поджо. Но в то время книга оказала сдерживающее воздействие на исследования нейронных сетей.
«Вы должны поместить эти вещи в исторический контекст», — говорит Поджо. «Они выступали за программирование — за такие языки, как Лисп. Не так много лет назад люди все еще использовали аналоговые компьютеры. В то время было совсем не ясно, что программирование — это верный путь развития».
Периодичность
Однако, к 1980-м годам исследователи разработали алгоритмы изменения весов и пороговых значений нейронных сетей, которые были достаточно эффективны для сетей с более чем одним слоем, устраняя многие ограничения, выявленные Мински и Пейпертом. Область пережила ренессанс.
Но с интеллектуальной точки зрения в нейронных сетях есть неудовлетворительные моменты. Достаточное обучение может изменить настройки сети до такой степени, что она сможет с пользой классифицировать данные, но что означают эти настройки? На какие особенности изображения смотрит распознаватель объектов и как он собирает их вместе в отличительные визуальные сигнатуры автомобилей, домов и кофейных чашек? Взгляд на веса отдельных соединений не даст ответа на этот вопрос.
В последние годы ученые-компьютерщики начали придумывать оригинальные методы вывода аналитических стратегий, принятых нейронными сетями. Но в 1980-х стратегии сетей еще не поддавались расшифровке.
Итак, на рубеже веков нейронные сети были вытеснены машинами опорных векторов — альтернативным подходом к машинному обучению, основанным на очень чистой и элегантной математике.
Недавнее возрождение нейронных сетей — революция глубокого обучения — произошло благодаря индустрии компьютерных игр. Сложные изображения и быстрый темп современных видеоигр требуют аппаратного обеспечения, способного идти в ногу со временем, и результатом стал графический процессор (GPU), который объединяет тысячи относительно простых вычислительных ядер на одном чипе. Исследователям не потребовалось много времени, чтобы понять, что архитектура графического процессора очень похожа на архитектуру нейронной сети.
Современные графические процессоры позволили одноуровневым сетям 1960-х годов и двух- или трехуровневым сетям 1980-х годов превратиться в современные 10, 15 и даже 50-уровневые сети. Вот что означает «глубина» в «глубоком обучении» — глубина слоев сети. И в настоящее время глубокое обучение отвечает за самые эффективные системы почти во всех областях исследований искусственного интеллекта.
Под капотом
Непрозрачность сетей по-прежнему беспокоит теоретиков, но и на этом фронте есть подвижки. Помимо руководства Центром мозга, разума и машин (CBMM), Поджо возглавляет исследовательскую программу центра в области теоретических основ интеллекта . Недавно Поджо и его коллеги из CBMM выпустили теоретическое исследование нейронных сетей, состоящее из трех частей.
Первая часть , которая была опубликована в прошлом месяце в International Journal of Automation and Computing , посвящена ряду вычислений, которые могут выполнять сети с глубоким обучением, и тому, когда глубокие сети имеют преимущества перед более мелкими. Вторая и третья части , которые были выпущены в качестве технических отчетов CBMM, посвящены проблемам глобальной оптимизации или гарантии того, что сеть нашла настройки, которые лучше всего соответствуют ее обучающим данным, и данным переобучения.
Есть еще много теоретических вопросов, на которые нужно ответить, но работа исследователей CBMM уже гарантирует, что нейронные сети, наконец, разорвут цикл поколений, который формировал и отвергал популярность в течение семи десятилетий.
PS. лайк, пожалуйста, он помогает продвижению статьи, а значит дает мотивацию писать дальше
Ну и как положено на VC, канал телеграм))) Канал и чатик
Туда выкладываю статьи VC и то, что нет в VC. Мысли, идеи, опыт.
В закрепленных канале всегда телеграм-боты Kolersky для доступа в ChatGPT, GPT-4, Midjorney без VPN и генератор изображений Dall-e. (проект KolerskyAI).