Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Дальше — больше. Считаем ли мы слоями именно слои нейронов или же слои синаптических связей, содержащих параметры модели? И если второе, то должны ли эти слои всенепременно содержать обучаемые параметры? Вспомним перцептрон Mark I Фрэнка Розенблатта, в котором было три слоя нейронов (S, A, R) и два слоя синаптических связей: S—A и A—R, из которых связи A—R были обучаемыми, а связи S—A настраивались вручную. И наконец, можно ли считать нейронными сетями модели, в основе которых лежат не «классические» нейроны со взвешенным суммированием входов и последующей подстановкой суммы в функцию активации, а какие-нибудь «неклассические» элементы, например элементы, основанные на полиномах Колмогорова — Габора, как в методе учёта групповых аргументов Ивахненко? В зависимости от ответов на эти вопросы родоначальниками глубокого обучения можно считать и Мак-Каллока с Питтсом, и Эшби, и Розенблатта, и Уидроу, и даже Хинтона с Румельхартом. Как часто бывает, в некоторой «пограничной» зоне даже общепринятые термины порой становятся ненадёжными из-за некоторой размытости их границ. Конечно, сеть с двумя слоями
Не добавляет ясности и история происхождения самого термина. Впервые он появился в работе [1436] израильской исследовательницы Рины Дехтер в 1986 г. Проблема, правда, заключается в том, что использован он был хотя и в контексте машинного обучения, но не по отношению к нейросетевым моделям. В работе Дехтер рассматриваются задачи поиска решения, удовлетворяющего некоторым ограничениям (constraint-satisfaction-problems, CSP), при этом способом решения является перебор вариантов. Deep learning — название, которое автор работы дала одной из разновидностей этого перебора. В 1980-е и 1990-е гг. слово deep в мире ИИ принадлежало скорее к области переборных алгоритмов — появившись в названии Deep Thought (затем Deep Blue), оно быстро утвердилось как приставка в названии шахматных программ, использовавших параллельные вычисления (Deep Fritz, Deep Shredder, Deep Junior и т. д.).
1436
Dechter R. (1986). Learning While Searching in Constraint-Satisfaction-Problems / Proceedings of the 5th National Conference on Artificial Intelligence. Philadelphia, PA, August 11—15, 1986, Vol. 1: Science // https://www.researchgate.net/publication/221605378_Learning_While_Searching_in_Constraint-Satisfaction-Problems
Широко распространено мнение [1437] , [1438] , [1439] , что первое применение определения «глубокий» в отношении искусственных нейронных сетей (и/или их обучения) относится к 2000 г., когда свет увидела книга «Многоуровневые и универсальные бинарные нейроны» (Multi-Valued and Universal Binary Neurons. Theory, Learning and Applications) [1440] , написанная Игорем Айзенбергом, Наумом Айзенбергом и Йосом Вандевалле. Однако, по моему мнению, в данном случае речь вовсе не идёт о глубоких нейросетевых моделях. Судите сами, вот как выглядит фрагмент, в котором современные историки нейронных сетей видят первое упоминание глубокого обучения: «1960-е — интенсивное развитие пороговой логики, начало которому было положено предшествующими результатами в теории перцептронов. Глубокое изучение свойств пороговых булевских функций, как одних из наиболее важных объектов, рассматриваемых теорией перцептронов и нейронных сетей» [1960-s — intensive development of the threshold logic, initiated by previous results in perceptron theory. A deep learning of the features of threshold Boolean functions, as one of the most important objects considered in the theory of perceptrons and neural networks]. Далее в качестве примеров этого «глубокого изучения» идут ссылки на монографии Дертоузоса [1441] и Муроги [1442] , в которых действительно исследуются вопросы синтеза схем, построенных из пороговых элементов (аналогичных нейронам перцептрона Розенблатта). В этих забытых образчиках исследований времён первой коннекционистской весны действительно можно найти некоторые архитектуры, которые можно было бы отнести к глубоким нейронным сетям. Например, на рисунке ниже показана любопытная архитектура, рассматриваемая в монографии Дертоузоса, — так называемая порогово-каскадная сеть (Threshold-Cascade Network).
1437
Kelleher J. D. (2019). Deep Learning. MIT Press // https://books.google.ru/books?id=ZU6qDwAAQBAJ
1438
Kharlamov A., Pilgun M. (2020). Neuroinformatics and Semantic Representations: Theory and Applications. Cambridge Scholars Publishing // https://books.google.ru/books?id=jEfhDwAAQBAJ
1439
Jain V. K. (2019). Machine Learning. Khanna Publishing House // https://books.google.ru/books?id=c6YEEAAAQBAJ
1440
Aizenberg I. N., Aizenberg N. N., Vandewalle J. (2000). Multi-Valued and Universal Binary Neurons: Theory, Learning and Applications. Springer Science & Business Media // https://books.google.ru/books?id=g9LlraAp2-8C
1441
Dertouzos M. L. (1965). Threshold Logic: A Synthesis Approach. M.I.T. Press // https://books.google.ru/books?id=u2ZqQgAACAAJ
1442
Muroga S. (1971). Threshold Logic and Its Applications. John Wiley & Sons, New York // https://books.google.ru/books?id=wvtQAAAAMAAJ
Сигналы входов этой сети транслируются сразу во все её слои. Эти «перепрыгивающие» соединения роднят порогово-каскадную сеть с некоторыми современными нейросетевыми архитектурами, однако в каждом слое порогово-каскадной сети есть всего один нейрон. В целом работы Дертоузоса и Муроги посвящены детальному анализу свойств сетей (при помощи весьма оригинальных математических методов, таких, например, как спектральный анализ), состоящих из одного или крайне небольшого числа элементов. Хотя некоторые из изученных в вышеозначенных работах архитектур можно отнести к многослойным нейронным сетям, внимательное чтение «Многоуровневых и универсальных бинарных нейронов» позволяет понять, что авторы этой книги не пытались ни ввести новое понятие, ни сказать, что работы Дертоузоса и Муроги стали началом нового направления. Напротив, авторы повторяют широко распространённое заблуждение о том, что Минский и Пейперт в «Перцептронах» указали на наличие ограничений у «однослойных» перцептронов и что в результате одним из направлений дальнейшего развития искусственных нейронных сетей стало создание многослойных перцептронов. Это выглядит вдвойне странно, если учесть, что монография Дертоузоса была написана за четыре года до книги Минского и Пейперта. Словом, ни «Многоуровневые и универсальные бинарные нейроны», ни тем более работа Дины Рехтер не имеют отношения к появлению термина «глубокое обучение» в его современном значении. Но тогда возникает вопрос: кто и когда на самом деле ввёл в оборот это понятие?
По всей видимости, первенство здесь принадлежит Джеффри Хинтону и его коллегам. В 2006 г. в своих работах [1443] , [1444] они используют термины «глубокий автокодировщик» [deep autoencoder], «глубокая сеть» [deep network], а также вводят в оборот новую модель — «глубокие сети доверия» (Deep Belief Networks, DBN). Интересно, что в том же году авторы статьи «Цифровая многослойная нейронная сеть, устойчивая к сбоям множества
1443
Hinton G. E., Salakhutdinov R. R. (2006). Reducing the Dimensionality of Data with Neural Networks / Science. — 2006-07-28. — Vol. 313, iss. 5786, pp. 504–507 // https://dx.doi.org/10.1126%2Fscience.1127647
1444
Hinton G. E., Osindero S. (2006). A fast learning algorithm for deep belief nets // http://www.cs.toronto.edu/~hinton/absps/fastnc.pdf
1445
Horita T., Murata T., Takanami I. (2006). A Multiple-Weight-and-Neuron-Fault Tolerant Digital Multilayer Neural Network / 2006 21st IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems // https://doi.org/10.1109/DFT.2006.8
1446
LeCun Y., Bengio Y., Hinton G. (2015). Deep learning / Nature, Vol. 521, pp. 436—444 // https://doi.org/10.1038/nature14539
Среди шутливых хакерских коанов есть один, в котором упоминаются одновременно Марвин Минский и нейронные сети:
Однажды, когда Сассман, будучи ещё простым послушником, сидел за терминалом PDP-6, к нему подошёл Минский.
— Что ты делаешь? — спросил Минский.
— Я обучаю случайно соединённую нейронную сеть играть в крестики-нолики, — ответил Сассман.
— А почему твоя сеть соединена случайным образом? — поинтересовался Минский.
— Чтобы у неё не было никаких предубеждений о том, как нужно играть.
Тогда Минский закрыл глаза.
— Зачем ты закрыл глаза? — спросил Сассман своего учителя.
— Чтобы эта комната стала пуста.
В этот момент Сассман просветлился [1447] .
По всей видимости, в основе этого коана лежит реальная история. Сассман действительно сказал Минскому, что использует в своей программе метод рандомизации, поскольку хочет, чтобы у машины не было никаких предзаданных представлений о задаче. Минский ответил: «Ну, они у неё есть, просто ты не знаешь, какие именно». Эти слова произвели большое впечатление на Сассмана. Затем Минский продолжил, сказав Сассману, что мир построен определённым образом и самое важное, что мы можем сделать с этим миром, — это избежать случайности и выяснить способы, с помощью которых можно было бы осуществлять планирование [1448] .
1447
Raymond E. S., Steele G. L. (1996). The New Hacker's Dictionary. MIT Press // https://books.google.ru/books?id=g80P_4v4QbIC
1448
Levy S. (2010). Hackers: Heroes of the Computer Revolution. 25th Anniversary Edition. O'Reilly Media, Inc // https://books.google.ru/books?id=mShXzzKtpmEC
Важность проблемы топологии нейронных сетей осознавалась как Розенблаттом, который посвятил этой теме немалую долю текста «Принципов нейродинамики», так и Минским в его анализе способности нейронных сетей вычислять предикаты чётности и связности. Каким бы мощным инструментом ни был метод обратного распространения ошибки, задача обучения больших полносвязных сетей довольно быстро становится неподъёмной по мере увеличения количества их нейронов. Да и естественные нейронные сети в своей топологии явно далеки от полносвязных: каждый нейрон человеческого мозга связан лишь с несколькими тысячами из почти сотни миллиардов других нейронов. В своих поисках эффективных архитектур искусственных сетей Розенблатт, вполне ожидаемо, обратился к данным нейрофизиологии.
В «Принципах нейродинамики» содержатся ссылки на наиболее передовые для начала 1960-х исследования в области нейрофизиологии. Здесь мы находим отсылки к работам Роджера Сперри; Летвина, Мак-Каллока, Питтса и Матураны (та самая работа про глаз и мозг лягушки); Стюарта Сазерленда (исследование зрения осьминогов) и замечательным результатам, полученным Торстеном Визелем и Дэвидом Хьюбелом в процессе изучения зрительной коры кошек [1449] . Примечательно, что Сперри, Визель и Хьюбел в 1981 г. разделят Нобелевскую премию в области физиологии и медицины.
1449
Rosenblatt F. (1961). Principles of Neurodynamics. Perceptrons and the Theory of Brain Mechanisms. Cornell aeronautical lab inc., Buffalo, New York. Defense Technical Information Center // https://books.google.ru/books?id=Tk2tDAEACAAJ
Существует мнение, что Розенблатт вплотную приблизился к идее создания свёрточных нейронных сетей [1450] . Как показывают его статьи [1451] , [1452] , он пытался построить нейронную сеть, которая бы моделировала работу зрительного аппарата живого существа. Эксперименты Розенблатта с элементарными перцептронами явственно демонстрировали, что полносвязная или связанная случайным образом сеть обладает низкой эффективностью, то есть неспособна учиться достаточно быстро. Розенблатт искал механизмы, позволяющие сократить число параметров модели, а также объяснить существование механизма долгосрочной памяти. Эти теоретические размышления, а также результаты опытов по переносу памяти у крыс убедили его в том, что в мозге существует механизм, позволяющий передавать информацию о величинах синаптических весов из одной области в другую. Розенблатт предположил, что это может происходить химическим путём, но в итоге наука нашла другие объяснения (хотя и отдалённо похожие на идеи Розенблатта). Этому как раз способствовали результаты, полученные Хьюбелом и Визелем.
1450
Pater J. (2017). Did Frank Rosenblatt invent deep learning in 1962? // https://blogs.umass.edu/comphon/2017/06/15/did-frank-rosenblatt-invent-deep-learning-in-1962/
1451
Rosenblatt F. (1964). Analytic Techniques for the Study of Neural Nets / IEEE Transactions on Applications and Industry, Vol. 83(74), pp. 285–292 // https://doi.org/10.1109/tai.1964.5407758
1452
Rosenblatt F. (1967). Recent Work on Theoretical Models of Biological Memory / Computer and Information Sciences, Vol. 2, pp. 33—56 // https://blogs.umass.edu/brain-wars/files/2016/01/rosenblatt-1967.pdf