Об ИИ без мифов. Путеводитель по истории Искусственного Интеллекта - Леонид Черняк
Интересно отметить занятное совпадение, косвенным образом связывающее деятельность Бэна с AI. Оказывается, это он в 1876 году основал альманах Mind, где через три четверти века Тьюринг опубликовал свою статью Computing Machinery and Intelligence.
История современного коннекционизма
Новая история коннекционизма делится на два этапа. Они не равны по продолжительности и между ними лежит разрыв по времени, равный двум десятилетиям. Первый, более короткий, продлился всего 20 лет, от середины 40-х годов до середины 60-х, а второй стартовал в начале 80-х годов и продолжается до нашего времени. Главными действующими лицами первого этапа, обеспечившими становление коннекционизм как научного направления, были всего несколько человек. Это вышеупомянутые Уоррен Мак-Каллок и Уолтер Питтс. Еще Фрэнк Розенблатт (Frank Rosenblatt, 1928–1971), он попытался первым реализовать идеи коннекционизма на практике в устройстве, названном им персептроном. И, наконец, канадский физиолог и нейропсихолог Дональд Хебб (Donald Hebb, 1904–1985), он первым предложил работающий алгоритм обучения ANN. Упрощенно их деятельность можно представить в виде последовательности: Мак-Каллок и Питтс, создают модель ANN, Хебб распространяет принципы машинного обучения на ANN, а Розенблатт пытался материализовать коннекционизм.
Совместно эти немногочисленные действующие лица первого этапа заложили фундамент для развития коннекционизма, но в силу ряда обстоятельств они не смогли противостоять наступлению временного спада активности в этом направлении, который по аналогии с «зимой AI» назвали «зимой коннекционизма», продлившейся более 20 лет. Наступление этой зимы обычно связывают с выходом книги Марвина Минского и Сеймура Паперта (о нем в Главе 9) «Персептроны» (Perceptrons: an introduction to computational geometry, 1970), где идеи коннекционизма были подвергнуты серьезной критике. Нельзя сказать, что позиция Минского и Паперта не имела право на существование, дальнейшее показало, что взгляды основоположников коннекционизма изрядно страдали механистичностью, но справедливости ради надо сказать, что главная причина наступления зимы коннекционизма, конечно же, в отсутствии технологий для полноценной материализации их замыслов. Если бы нашлись соответствующие технологии, развитие пошло бы иным путем.
Итак, коннекционизм начался с работ Уоррена Мак-Каллока и Уолтера Питтса, их считают основателями нейрокомпьютинга, поскольку они первыми показали как простые цепочки нейронов, объединенные в группы, оказываются способными к вычислению логических функций. Результатом работы дуэта MCP стала констатация того факта, что таблицы истинности любой сложности могут быть собраны из нейронов, они показали достаточные условия для воспроизведения логических функций средствами ANN. Предложенная ими в 1940 году простая модель нейрона (simple threshold model) реализует функцию, называемую threshold function, или activation function, она воплощается в устройстве threshold gate. На русский язык название функции переводится как функция активации нейрона, она определяет выходной сигнал, а ее значение определяется входным сигналом или набором входных сигналов. Обычно в этом качестве используется нормализуемая сигмоидная функция активации. Нейрон, выполняющий сигмоидную функцию, называют threshold neuron, или пороговый нейрон.
В модели Мак-Каллока и Питтса связи имеют фиксированные веса, а результатом пороговой функции может быть 0 или 1, такой нейрон может быть только пороговым классификатором (classifier). Слабость модели MCP в используемой ими пороговой переходной функции, здесь нейроны имеют состояния 0, 1 и поддерживают пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Пороговый вид функции ограничивает возможности обучения нейронной сети, к тому же модель не учитывает многих особенностей работы реальных нейронов (импульсного характера активности, нелинейности суммирования входной информации и др.). Несмотря на то, что за прошедшие годы нейроматематика ушла далеко вперед, многие взгляды MCP остаются актуальными и поныне.
Мак-Каллок и Питтс продемонстрировали присущий ANN вычислительный потенциал, но чтобы его реализовать, нужен некоторый механизм для манипуляций с сетью. Каким он может быть? В традиционных компьютерах, ограниченных способностью выполнять последовательность команд, таким механизмом служит программирование. Хотя компьютер и является универсальным инструментом, но сам по себе он остается простым программным автоматом, он может выполнять заложенную в него программу, не более того. В связке компьютерного программного обеспечения с аппаратным «железо» – это постоянная часть, программа – переменная, она обеспечивает адаптацию компьютера к задаче.
В ANN по определению нет специального механизма управления, нет и не может быть отдельно существующей внешней по отношению к сети программы, поэтому здесь нужен иной механизм, каким-то образом меняющий сеть, адаптирующий ее к решаемой задаче, превращающий ANN на время решения задачи из универсального механизма, готового к обучению, в специализированный механизм, и этот процесс и принято называть машинным обучением (ML).
Предыстория и первые шаги машинного обучения
Сегодня машинное обучение (Machine Learnung, ML) связывают исключительно с ANN, что совершенно естественно, но не только ANN обучаемы, есть и иные обучаемые автоматы. Впервые мысль об обучении машины сформулировал автор шашечной программы Артур Самюэль (Arthur Samuel, 1901–1990) в далеком 1959 году! В статье, описывающей эксперимент машинной игры, он дал следующее определение ML: «Машинное обучение это научное направление, изучающее подходы к тому, как побудить компьютеры к полезным действиям, не обращаясь к программированию». Спустя 60 лет не остается ничего иного, как восхититься его прозорливостью, хотя ML по Самюэлю имеет мало общего с тем, как понимается обучение сегодня, когда обучается не программа, работающая на машине, как у него, а нейронная сеть, работа которой поддерживается машиной. Предложенный им алгоритм не делил процесс игры на обучение (training) и исполнение (inference), как это делается при обучении ANN, он использовал дерево поиска игровых позиций, достижимых из текущего состояния, с применением алгоритма альфа-бета-отсечения (alpha-beta pruning). Алгоритм отсечения перебирает и оценивает все ветви дерева поиска до тех пор, пока не найдено значение хуже, чем вычисленное для предыдущих ветвей. Этот подход впоследствии часто использовали для программирования различных антагонистических игр, в том числе очень модной одно время машинной игры в шахматы. Суть обучения в данном случае заключалась в том, что веса оценочной функции изменяются в процессе игры. В начальный период истории AI на метод альфа-бета-отсечения возлагались большие надежды, на него делали ставку такие апостолы того времени Аллен Ньюэлл и Герберт Саймон, Джон Маккарти и Марвин Минский.
Этот же метод независимо от них был открыт отечественным ученым А. Л. Брудно (1918–2009), назвавшим его «методом граней и оценок». Будучи изначально математиком, Александр Львович вел в Математическом институте им. В. А.