Будет ли ИИ учиться как человек? И какой должна быть идеальная среда непрерывного обучения ИИ? Ответами на эти и другие вопросы от автора непрерывного обучения в области ИИ делимся к старту флагманского курса по Data Science.
Алгоритмы ИИ созданы обучаться урывками. Вместо непрерывного обновления базы знаний, как у людей, алгоритмы учатся только на стадии тренировки. А раз так, их знания остаются замороженными. Они выполняют задачу, которой натренировались, не имеют возможности научиться учиться. Современные алгоритмы должны тренироваться с нуля. Как если бы, чтобы узнать имя новой знакомой, вам каждый раз пришлось бы перезагружать мозг.
Обучение с нуля может привести к поведению, известному как катастрофическое забывание, когда машина усваивает новые знания ценой забвения почти всего изученного. Эта ситуация возникает изза того, как самые мощные сегодняшние алгоритмы искусственного интеллекта, нейросети, изучают нечто новое.
Алгоритмы нейросетей основаны на математической модели нейронов, обучение включает изменение силы связей между нейронами. Но этот процесс усложняется. Нейронные связи представляют прошлые знания, поэтому их слишком сильное изменение приведёт к забыванию.
Биологические нейронные сети разрабатывали стратегии обеспечения стабильности важной информации сотни миллионов лет. Но искусственным нейросетям сегодня трудно найти баланс между новыми и старыми знаниями. Когда сеть видит новые данные, соединения её нейронов слишком легко перезаписываются, а это может привести к внезапному и серьёзному сбою в распознавании прошлой информации.
Чтобы помочь противостоять катастрофическому забыванию ИИ, Кристофер Канэн, 41-летний специалист по информатике из Университета Рочестера, помог создать новую область исследований ИИ — непрерывное обучение. Его цель состоит в том, чтобы из непрерывных потоков данных ИИ узнавал что-то новое, не забывая всё, что уже изучил.
Канэн играл с машинным интеллектом почти всю свою жизнь. Когда Канэн был ребёнком и жил в сельской местности Оклахомы, он просто хотел повеселиться с машинами и научил ботов играть в первые многопользовательские компьютерные игры. Позже Канэн заинтересовался созданием общего искусственного интеллекта — машины, способной мыслить по-человечески во всех отношениях. Это заставило его заинтересоваться и тем, как работает разум. Поэтому, прежде чем аспирантура привела его в Калифорнийский университет в Сан-Диего, он специализировался на философии и информатике в Университете Оклахомы.
Сегодня Канэн черпает вдохновение не только в видеоиграх, но и в наблюдении за тем, как познаёт мир его почти 2-летняя дочь, причём каждый новый опыт обучения основан на предыдущем. А катастрофическое забвение уже не является таким катастрофическим благодаря его работам и работам его коллег.
Журнал Quanta поговорил с Канэном о машинной памяти, нарушении правил обучения нейронных сетей и о том, достигнет ли когда-нибудь ИИ умения учиться на уровне человека. Для ясности интервью отредактировано и сокращено.
— Как изучение философии влияет на ваши размышления о работе?
— Философия очень хорошо послужила мне. Она учит нас, как приводить обоснованные аргументы и как анализировать аргументы других. Именно этим во многом люди занимаются в науке. До сих пор у меня сохранились сочинения того времени о недостатках теста Тьюринга и т. д. И до сих пор я много думаю о подобном.
Мой труд вдохновлён вопросом: хорошо, если мы не можем сделать X, как мы сможем сделать Y? Мы учимся со временем, а нейронные сети, как правило, нет. Они тренируются один раз. После этого ИИ — неподвижная сущность. И это фундаментальная проблема, которую придётся разрешить, если хочется создать искусственный интеллект общего назначения. Если он не может учиться без того, чтобы перебрать мозг и перезапустить его с нуля, то вы на самом деле не добьётесь этого, верно? Для меня это — необходимая способность.
— Как исследователи справлялись с катастрофическим забыванием до сих пор?
— Самый успешный метод, называемый воспроизведением, сохраняет прошлый опыт, а затем воспроизводит его во время обучения с новыми примерами, чтобы не потерять их. Это связано с консолидацией памяти в нашем мозгу, где по мере реактивации нейронов во время сна «воспроизводятся» высокоуровневые коды дневной деятельности.
Другими словами, для алгоритмов обучение новому не может полностью уничтожить прошлое: прошлый и сохранённый опыт смешиваются нами.
Здесь есть три стиля:
Наиболее распространённый — «достоверное воспроизведение», когда исследователи сохраняют подмножество необработанных входных данных — например, исходные изображения для задачи распознавания объектов — и затем смешивают эти сохранённые изображения из прошлого с новыми изображениями для изучения.
Второй подход воспроизводит сжатые представления изображений.
Третий, гораздо менее распространённый метод, — «генеративный повтор». Здесь искусственная нейронная сеть фактически генерирует синтетическую версию прошлого опыта, а затем смешивает этот синтетический пример с новыми примерами. Мой труд сосредоточен на двух последних стилях. К сожалению, повторное воспроизведение — не очень удовлетворительное решение.
— Почему?
— Чтобы научиться чему-то новому, нейронная сеть должна хранить хотя бы какую-то информацию о каждом понятии, которое изучала в прошлом. И с нейробиологической точки зрения гипотеза состоит в том, что, чтобы предотвратить забывание недавнего опыта, мы с вами воспроизводим не то, что произошло в нашем детстве, а относительно недавний опыт. В нейросетях это делается не по-настоящему. ИИ не обязательно хранить всё, что он видел, но, чтобы использовать повтор, он должен хранить что-то о каждой задаче из прошлого. И непонятно, что он должен хранить. Таким образом, всё выглядит так, как будто воспроизведение в его сегодняшнем виде — это ещё не всё.
— Если бы можно было полностью решить проблему катастрофического забывания, означало бы это, что ИИ может постоянно учиться чему-то новому?
— Не совсем. Думаю, большие, большие, большие открытые вопросы в области непрерывного обучения заключаются не в катастрофическом забывании. Что меня действительно интересует, так это то, как прошлое обучение делает более эффективным обучение будущее. И как изучение чего-либо в будущем исправит полученные в прошлом знания? Это измеряют немногие. Думаю, эти измерения — важная часть продвижения вперёд. На самом деле дело не в том, чтобы просто что-то забыть. Дело в том, чтобы лучше учиться.
Именно здесь, как мне кажется, наука за деревьями не видит леса. Большая часть сообщества ставит проблему таким образом, что постановка не соответствует ни интересным биологическим вопросам, ни интересным инженерным приложениям. Мы не можем просто заставить всех вечно решать одну и ту же проблему с игрушками. Нужно спросить: «Какова наша задача? Как продвинуться вперёд?»
— Тогда почему, по-вашему, большинство людей сосредотачиваются на этих простых проблемах?
— Я могу лишь предполагать. Большинство работ выполняется студентами, которые повторяют прошлые работы. Они копируют настройки, выполненные другими людьми, и демонстрируют небольшой прирост производительности при тех же измерениях. Создание новых алгоритмов с большей вероятностью приведёт к публикации, даже если эти алгоритмы на самом деле не позволяют добиться значительного прогресса в непрерывном обучении. Меня по-настоящему удивляет, что такая же работа производится крупными компаниями, у которых, кроме работ стажёров, таких же стимулов нет.
Кроме того, эта работа нетривиальна. Чтобы измерить, помогает ли прошлое обучение обучению будущему, нужно установить корректный эксперимент и настройку алгоритмов. Большая проблема в том, что у нас сейчас нет хороших наборов данных для изучения непрерывного обучения. Я хочу сказать, что мы в основном берём существующие наборы из традиционного ML и переделываем их.
По сути, согласно догме машинного обучения (или, по крайней мере, всякий раз, когда я начинаю преподавать машинное обучение), у нас есть тренировочный набор, у нас есть тестовый набор — мы тренируем на тренировочном наборе и тестируем на тестовом наборе. Непрерывное обучение нарушает эти правила. Тренировочный набор превращается в нечто такое, что развивается по мере обучения. Но мы по-прежнему ограничены существующими наборами данных. Над этим нужно работать. Для непрерывного обучения нужна хорошая среда, в которой мы сможем продвинуться по-настоящему.
— Как выглядит идеальная среда непрерывного обучения?
— Легче сказать, как она не должна выглядеть. Я участвовал в дискуссии, где эту проблему определили как критически важную, но это, как мне кажется, не тот вопрос, на который у кого-то сразу есть ответ.
Я могу сказать вам, какими свойствами эта среда может обладать. Поэтому пока предположим, что алгоритмы ИИ в симуляциях не являются воплощёнными агентами. Тогда, по крайней мере в идеале, мы учимся на видео или на чём-то в этом роде, например на мультимодальных видеопотоках. Надеюсь, что мы делаем нечто большее, чем просто классифицируем [статические изображения].
Много вопросов по этому поводу остаются открытыми. Несколько лет назад я был на семинаре по непрерывному обучению, где некоторые люди вроде меня говорили: «Мы должны прекратить использовать набор данных MNIST, он слишком прост». А потом кто-то сказал: «Хорошо, давайте сделаем инкрементальное обучение игре в StarCraft». И по разным причинам я тоже делаю сейчас именно это, но не думаю, что это важно по-настоящему. Жизнь куда богаче игры в StarCraft.
— В вашей лаборатории пытались разработать алгоритмы, способные обучаться с течением времени?
— Вместе с моим бывшим учеником Тайлером Хейсом я впервые ввёл задачу непрерывного обучения в рассуждения по аналогии. Мы подумали, что это хорошее поле для изучения идеи трансферного обучения, когда вы приобретаете навыки, а для решения более сложных задач нужно использовать более сложные навыки. В частности, мы измерили обратный трансфер, то есть то, насколько хорошо изучение чего-то в прошлом поможет вам в будущем, и наоборот. И мы нашли хорошие свидетельства переноса, гораздо более значительные, чем в простой задаче, например в распознавании объектов.
— Ваша лаборатория также занимается обучением алгоритмов непрерывности на одном примере за раз или на очень небольших наборах примеров. Как это поможет?
— Многие схемы непрерывного обучения по-прежнему используют очень большие партии примеров. Таким образом, они, по сути, говорят алгоритму: «Вот 100 000 вещей, изучи их. Вот следующие 100 000 вещей, изучи их». На самом деле это не то, что я бы сказал о реальном приложении, а именно: «Вот одна новая вещь, изучи её. Вот ещё одна новая вещь, изучи её».
— Если мы хотим, чтобы ИИ учился, как мы, должны ли мы стремиться воспроизвести то, как люди учатся разным вещам в разном возрасте, постоянно совершенствуя свои знания?
— Я думаю, это очень плодотворный путь прогресса в этой области. Люди говорят мне, что теперь, когда у меня есть ребёнок, я просто одержим развитием. Но я вижу, что моя дочь способна к мгновенному обучению, когда видит, как я что-то делаю один раз, и может сразу скопировать это. Алгоритмы ML сегодня не могут ничего подобного.
И этот факт на самом деле открыл мне глаза. В наших головах, должно быть, происходит гораздо больше, чем в современных нейросетях. Вот почему я думаю, что со временем наука должна двигаться к идее обучения, когда алгоритмы учатся лучше, если опираются на прошлый опыт.
— Как вы думаете, сможет ли ИИ когда-нибудь учиться так же, как люди?
— Я думаю, ИИ будет учиться так. Определённо. Сегодня это гораздо более перспективно, потому что в этой области работает очень много людей, но нужно больше творить: в сообществе машинного обучения большая часть культуры состоит в подходе «следуй за лидером».
Я представляю людей как биохимические машины, и в конце концов мы выясним, как сделать алгоритмы для подходящей архитектуры. Эта архитектура, я полагаю, будет иметь больше возможностей, подобных нашим, чем сегодняшние нейросети. Для меня нет убедительных аргументов в пользу того, что это невозможно.
А пока ИИ продолжает развиваться, мы поможем прокачать ваши навыки или с самого начала освоить профессию, востребованную в любое время: