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