Я отметил некоторые точки на плоскости буквой X, а некоторые – буквой O. Моя цель – научить машину присваивать буквы X и O другим, еще не помеченным точкам этой плоскости, основываясь на моей маркировке. Может быть (я надеюсь), существует какая-то стратегия, получаемая путем настройки четырнадцати ручек, которая будет присваивать большие значения всем точкам с X и маленькие – всем точкам с O, и это позволит мне сделать какие-то разумные предположения о тех точках плоскости, которые я еще не пометил. А если такая стратегия есть, надеюсь, я смогу изучить ее с помощью градиентного спуска, чуть-чуть поворачивая каждую ручку и наблюдая, как это уменьшает неправильность моей стратегии в отношении уже имеющихся примеров. Найдите наилучшее маленькое изменение, которое можете внести. Сделайте это. Повторите.
Слово
Конечно, современные глубокие сети намного сложнее изображенных на наших рисунках. Блоки могут быть устроены сложнее, чем простые функции, о которых мы говорили. В так называемой рекуррентной нейронной сети у вас могут быть блоки с обратной связью, использующие свой выходной сигнал в качестве своего же входного сигнала, как блок ОП 4 на моем синтезаторе DX21. И они просто быстрее. Как мы узнали, идея нейронных сетей не нова; я еще помню не столь отдаленные времена, когда ее считали тупиковой. Однако оказалось, что она очень удачна и просто нуждалась в соответствующих компьютерных мощностях[315]
. Чипы, называемые графическими процессорами и предназначенные для быстрой отрисовки графики в компьютерных играх, оказались идеальными инструментами для обучения действительно больших нейронных сетей. Это позволило экспериментаторам увеличить глубину и ширину своих сетей. С современными процессорами вам незачем ограничиваться четырнадцатью ручками – их можно иметь тысячи, миллионы и даже больше. Нейронная сеть GPT-3 использует для генерации правдоподобного английского текста 175 миллиардов ручек.Конечно, пространство со 175 миллиардами измерений велико; однако 175 миллиардов ничтожно малы по сравнению с бесконечностью. Мы по-прежнему исследуем только крохотное подпространство из пространства всех возможных стратегий. И тем не менее, похоже, на практике этого достаточно, чтобы получить текст, выглядящий так, будто его написал человек, – равно как крохотной сети, имевшейся в DX21, было достаточно, чтобы обеспечить правдоподобную имитацию трубы, виолончели и космического пука.
Это удивительно, но есть и еще одна загадка. Вспомните, что идея градиентного спуска сводится к поворачиванию ручек до тех пор, пока вы не сделаете все возможное для данных, на которых обучались. Современные сети имеют так много ручек, что часто могут добиться идеальной работы на обучающем множестве, называя каждое из тысяч изображений кошек кошкой и каждое из тысяч изображений других объектов – некошкой. Фактически при таком количестве ручек имеется колоссальное пространство стратегий, и все они на 100 % верны на обучающем множестве. Оказывается, большинство этих стратегий работают ужасно, когда им дают изображения, которые сеть еще не видела. Но тупой жадный процесс градиентного спуска приводит к одним стратегиям гораздо чаще, чем к другим, и те стратегии, которые предпочитает градиентный спуск, на практике кажутся гораздо более приспособленными к обобщению на новые примеры.
Почему? Что такого особенного в этой конкретной форме сети, что делает ее настолько хорошей для широкого круга задач обучения? Почему именно в той крохотной области пространства стратегий, где мы ищем, и оказывается хорошая стратегия?
Насколько я знаю, это загадка. Хотя буду честен, ведутся жаркие споры о том, загадка ли это. Я задавал этот вопрос многим специалистам в области искусственного интеллекта – именитым, важным людям, и каждый радостно забалтывал меня по этому поводу. У некоторых были очень уверенные объяснения, почему все это работает, но двух одинаковых объяснений я не слышал.
Но я хотя бы могу сказать, почему мы выбрали для исследований ландшафт нейронных сетей.
Наверное, вы слышали старую байку о том, как человек, возвращающийся поздно ночью домой, увидел своего мрачного друга, стоящего на четвереньках под уличным фонарем.
– Что случилось?
– Потерял ключи от машины, – отвечает друг.
– Дело дрянь. Давай помогу.
Он тоже становится на колени, и оба дружно шарят в траве. Через некоторое время человек обращается к другу:
– Ты уверен, что они тут? Мы же долго ищем.
– Не уверен и понятия не имею, где они, – отвечает друг. – Я много где был с того момента, когда последний раз их видел.
– Но тогда почему мы уже двадцать минут ищем их под этим фонарем?
– Потому что в остальных местах темно и ничего не видно!