Нейронные сети
Компьютеры, обучающиеся как люди?.. До сих пор мы сравнивали головной мозг с жестким компьютерным диском. Есть, однако, ученые, которые исходят из прямо противоположной посылки и пытаются сделать компьютеры способными к естественному, так сказать, природному обучению. Эти ученые ведут речь о нейронных сетях. Однако эти нейронные сети должны состоять отнюдь не из биологических нервных клеток. Речь идет даже не о том, чтобы, как в научно-фантастическом фильме «Матрица», вставить клетки мозга в компьютер. Вместо этого работа компьютера будет имитировать работу головного мозга. Эти работы преследуют двоякую цель: с одной стороны, улучшить конструкцию компьютеров, а с другой стороны, строя компьютеры, больше учиться у человеческого мозга. На осуществление Human Brain Project Европейский союз выделил миллиард евро, которые были распределены между сотней научно-исследовательских центров, чтобы как можно скорее разработать методы имитации работы большей части головного мозга. Это один из самых крупных проектов за всю историю науки. Однако проекты такого масштаба всегда навлекают на себя ожесточенную критику. В данном случае критика заключается в том, что мысль о создании компьютеров нового типа основана на идеях очень немногих ученых, и, кроме того, проведено слишком мало исследований по реальной работе мозга для того, чтобы строить на их основе новые модели компьютеров. Потребуется еще несколько лет, чтобы понять, насколько успешно продвигается это направление и чему оно нас научит. Последние сообщения говорят о том, что в 2015 году ученым удалось имитировать работу небольшой области коры мозга крыс, состоящей из 31 тысячи нейронов. В эксперименте этот искусственный частичный мозг ведет себя точно так же, как соответствующий участок крысиного мозга. Научиться чему-либо на основании этого достижения мы пока не можем, как справедливо указывают критики. Закончится ли этот проект созданием усовершенствованных тамагочи (цифровых животных, которые одно время были очень популярны среди любителей компьютерных игр) или нам все же удастся узнать что-то новое о работе мозга, покажет время.
Между тем применение в компьютерах нейронных сетей уже привело к познаниям совершенно иного рода. Известна ли вам настольная игра го? В Азии эту игру ценят очень высоко, и там даже есть профессиональные игроки. У нас эта игра приобрела широкую известность в начале 2016 года, после того как вопреки ожиданиям всех экспертов компьютерная программа, созданная специалистами отдела искусственного интеллекта компании Google, нанесла поражение чемпиону мира по го со счетом 4: 1. В 1997 году компьютер Deep Blue победил чемпиона мира по шахматам Гарри Каспарова, что вызвало большой шум в средствах массовой информации. Однако шахматы – это игра с простыми и ясными правилами, и все ходы можно просчитать и сравнить варианты позиций, после чего внести все эти данные в программу. Го намного сложнее, и поэтому многие специалисты считали, что только к 2025 году, а то и позже компьютеры станут настолько совершенными, что смогут побеждать мастеров го. Тем не менее специалистам Google удалось сделать это в 2016 году, причем не за счет увеличения скорости, а за счет применения нейронных сетей. Эксперты го были немало удивлены некоторыми ходами компьютера, так как не считали их самыми удачными. В комментариях во время прямой трансляции специалисты говорили, что компьютер совершил ошибку, но немного позднее выяснялось, что именно этот конкретный ход в конце концов принес победу компьютеру. Нам это хорошо известно по замечаниям комментаторов футбольных матчей: «Фол! Фол! Это же одиннадцатиметровый! Куда он смотрит? Почему нет свистка? Вот же замедленный повтор! О, так касание ноги было! Какая симуляция фола! »
Таким образом, «Альфа-Го» играет как человек, а не как компьютерная программа, но это был пример обучения компьютера: с помощью нейронной сети с несколькими узлами соединений между уровнями компьютер изучил огромное количество партий профессиональных игроков в го. Компьютер сутками напролет играл в го сам с собой. Сделайте это, будучи человеком. Игроки в го высмеют вас и назовут чудаком. В данном случае были использованы две параллельные нейронные сети. Одна сеть заучила правила и изыскивала на основании анализа уже сыгранных партий возможные ходы. Совокупностью введенных данных здесь является игровая доска. Исходом каждого допустимого по правилам хода является вероятность того, как сыграет человек в ответ на этот ход, – точно так же, как играет и человек. Испытания показали, что компьютер делает правильный ход в 57 % случаев. Это не слишком высокий показатель, так как при этом учитывается двести возможных ответных ходов, однако это довольно неплохой результат, который показывает, что и профессионалы в своей игре более предсказуемы, нежели они сами о себе думают. Вторая сеть оценивает эти возможные ходы и в качестве выхода дает число: оценку вероятности победы. Эта сеть постоянно играет против самой себя, чтобы генерировать новые партии и самосовершенствоваться. Сюда же встраивается компонент случайности: вместо того чтобы все время делать самые вероятные человеческие ходы, машина их несколько варьирует. В большинстве своем такие ходы оказываются глупыми и неудачными, и эти варианты в конце концов отбрасываются, но в миллионах партий, которые программа разыгрывает против себя, открываются ходы и тактики, которые никогда не использовались людьми. В реальном поединке используются обе сети с их поисковыми стратегиями, к которым в конце добавляются и человеческие знания об игре, чтобы ограничить число возможных ходов и соблюсти необходимый темп игры. Обучение в нейронных сетях работает так, чтобы нейроны действовали на разных уровнях. В каждом случае они сохраняют вводные значения некоторого числа нейронов на предыдущих уровнях. Вначале они не знают, что означают эти величины, и поэтому необходима тренировка сети. В каждом упражнении непременно содержится результат, то есть игра заканчивается либо выигрышем, либо проигрышем. При этом взвешивается каждый вводный сигнал, и эта оценка изменяется и уточняется при каждом прохождении. Насколько точно функционируют нейронные сети при игре в го, можно с большим трудом продемонстрировать на 13 уровнях при великом множестве вариантов. Тем более трудно это сделать на маленьком примере, но мы все же попытаемся.
Допустим, нейронной сети надо научиться решать, может ли автомобиль проехать на сигнал светофора или нет. Входных сигналов три – красный, желтый, зеленый. Каждый сигнал имеет два значения – либо 1 (горит), либо 0 (не горит). На следующем уровне расположены два нейрона, каждый из которых получает один входной сигнал от всех трех источников света. Эти нейроны передают сигнал дальше только в том случае, если сумма входов равна по меньшей мере единице. Верхний сигнал означает: «Проезд запрещен», а нижний сигнал: «Проезд разрешен». Важно здесь следующее: теоретически нейроны могут сообщить об обоих исходах. Сеть не знает, какой из них правильный, а какой – нет. В примере со светофором верхний нейрон второго уровня быстро обучается тому, что ему нужен только верхний красный сигнал. Если сигнал выдается сверху, второй нейрон передает свой сигнал дальше. Если горит красный сигнал, то совершенно не важно, горит ли при этом желтый свет. В любом случае движение запрещено. Таким образом, вход «красный свет» принимает значение 1, а другие входы значение 0. Нижний же нейрон обучается тому, что внизу достаточно одного зеленого света. Если горит зеленый, то движение разрешено. Таким образом, этот вход тоже принимает значение 1. Дополнительно требуется также вход «желтый». Если горит только желтый, то автомобиль еще может ехать. Таким образом, желтый тоже принимает значение 1. Если же горят одновременно желтый и красный сигналы, то движение запрещается. Красный сигнал принимает значение 1. В нейроне происходит следующее: желтому приписывается значение 1, а красному –1. Один минус один равно нулю, то есть сигнал отсутствует. Таким способом в процессе обучения сеть находит правильные решения.
Сначала все входы равноправны. Сеть всегда выдает решение «ехать» и «стоять», независимо от того, каким цветом горит светофор. Окончательное решение может быть принято либо после обучения, либо посредством обратной связи
При первой попытке оба выхода сообщают свои сигналы. Обратная связь пока не установлена. При следующей попытке происходит настройка оценок. Верхний нейрон поступил правильно? Здесь ничего не меняется. Нижний нейрон ошибся. Оценка изменяется, но пока случайным образом
Так лучше? Верхняя оценка остается неизменной, нижняя находится в процессе коррекции, но общий результат пока остается неверным
Верхний сигнал по-прежнему правильный и остается неизменным. Нижний нейрон делает следующую попытку. Теперь все сходится! Принимается измененная оценка. Далее следует обучение другим (только красный, только желтый, только зеленый) схемам включения светофора
Это окончательная конфигурация. На основании проб и ошибок сеть научилась правильно оценивать схемы включения светофора и может теперь давать правильные ответы
В программе игры в го не один общий вход, а один вход для каждой клетки игрового поля. Здесь работает не один уровень с двумя нейронами, а множество уровней с сотнями нейронов на каждом из них. После нескольких миллионов прохождений сигналов тем не менее возникает сеть, обучившаяся игре в го на собственном опыте. Одни и те же группы исследователей, пользуясь одной и той же программой, смогли обучить компьютер самым разным играм. Можно взять для примера даже компьютерные игры 1980-х. Все входы системы были очень просты – светится данный пиксель экрана или нет, а на выходе имелись различные возможности вести игру, перемещая джойстик. Сеть обладала информацией лишь о правилах игры, но тем не менее могла быстро обучаться выигрышу в многочисленных играх такого рода. Однако этот метод обучения не годился для таких видеоигр, как, например, пакман. Заучить случайные движения героя по лабиринту невозможно. Кто мог подумать, что после поражений в шахматах и го именно пакман станет символом торжества человеческого разума и спасет честь человечества?! Но, как бы то ни было, это всего лишь начало. Google купила фирму, разработавшую вышеупомянутую методику, отнюдь не для того, чтобы посрамить мастеров игры в го. Речь идет о дальнейшем развитии техники. Эти методы должны помочь в разработке самоуправляющихся автомобилей, которые бы справлялись с требованиями законов о дорожном движении не хуже людей. Эти методы уже позволяют таким автомобилям распознавать по видеоизображениям различные важные объекты – например щиты с дорожными знаками. Эти методы позволят решить многие медицинские проблемы – например распознавать заболевания по анализам крови, по компьютерным изображениям органов и по анализам ДНК быстрее, чем врачи, и решать, требуют эти изменения врачебного вмешательства или нет. Естественно, вводные этих задач значительно сложнее, чем в игре го, где существует четко определенное игровое поле. Сложнее будет и обучение, так как зачастую «правильный» ответ заранее неизвестен. Но лучше становятся не только искусственные нейронные сети; улучшаются также и методы сбора данных. Системы будут лучше обучаться, когда будут созданы банки ДНК миллионов людей и будут определены связи изменений ДНК с теми или иными заболеваниями, которыми страдают люди. Если компьютер сможет самостоятельно определить, что тот или иной участок ДНК подозрителен в отношении какой-то аномалии, то врачи на основании этой информации смогут попытаться выявить причинно-следственную связь аномалии с конкретным заболеванием.
Видимо, сейчас мастера игры в го анализируют свойства программы «Альфа-Го» в предвкушении того, что это поможет им повысить качество своей игры. Посмотрим, подвигнут ли успехи компании Google людей к матчу-реваншу. Но вполне вероятно, что программа уже давно осваивает игру пакман.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|