
Полная версия
Искусственный интеллект для начинающих: чайники и нейросети

Георгий Димитриади
Искусственный интеллект для начинающих: чайники и нейросети
Введение. Почему ИИ - это не магия, а просто очень быстрый ученик
Если вы держите эту книгу в руках, скорее всего, словосочетание «искусственный интеллект» вызывает у вас смешанные чувства. С одной стороны - восторг от новостей о роботах-хирургах и картинах, которые рисует компьютер. С другой - легкую тревогу, навеянную голливудскими блокбастерами, где Скайнет порабощает человечество, а роботы отнимают у людей работу.
Давайте сразу снимем напряжение.
Искусственный интеллект - это не волшебник, заключенный в пластиковую коробку смартфона. И это не злобный разум, который по ночам строит планы по захвату мира. Если использовать самую простую и точную метафору, то искусственный интеллект - это стажер, который прочитал всю библиотеку мира за одну ночь, но не всегда понимает контекст.
Он может за секунду выдать вам справку по истории династии Мин, написать стихотворение в стиле Серебряного века и перевести инструкцию к холодильнику на суахили. Но если вы попросите его «принести кофе», он впадет в ступор. Не потому, что он глупый, а потому, что в той самой библиотеке мира нет четкого алгоритма того, как именно ваша рука берет фарфоровую чашку, чтобы не обжечься, и как именно вы любите сахар - с горкой или без.
Чтобы понять, чем ИИ отличается от обычной компьютерной программы, представьте себе приготовление яичницы.
Обычная программа - это кулинарная книга. В ней написано: «Возьми два яйца, разбей на сковородку, жарь три минуты». Если в холодильнике нет яиц или попалось тухлое - программа сломается. Она не умеет импровизировать, она следует жестким, заранее написанным правилам.
Искусственный интеллект - это стажер, которому показали миллион фотографий готовых завтраков. Ему не дали рецепт. Ему просто сказали: «Вот это - яичница. Запомни, как она выглядит». Теперь, если вы дадите ему яйца, бекон, авокадо или даже папайю, он попытается, исходя из увиденных примеров, приготовить что-то съедобное. Он учится на примерах, а не на инструкциях.
Именно поэтому вокруг ИИ сегодня столько шума. Мы десятилетиями жили в мире «кулинарных книг» - программ, которые делают ровно то, что им велел программист. А теперь мы перешли в мир «стажеров». Эти стажеры уже работают в вашем кармане, в вашем банке, в вашей поликлинике и даже в вашем пылесосе.
Возможно, вы замечали, как ваш почтовый ящик вдруг перестал пропускать спам. Вы не настраивали сложные фильтры, не писали код. Вы просто пару раз нажали кнопку «Это спам». Алгоритм посмотрел на ваши действия, посмотрел на тысячи таких же действий других людей, заметил, что письма со словами «Нигерийский принц» и «срочно переведите деньги» почти всегда удаляют, и начал делать это за вас. Он научился.
Эта книга написана для того, чтобы превратить страх перед черным ящиком в понимание. Мы не будем погружаться в сложные математические формулы и учить языки программирования. Наша цель - снять с технологий налет научной фантастики. Вы узнаете, как нейронная сеть, этот «мозг из лего», отличает вашу кошку от собаки на домашнем видео. Мы разберем, почему навигатор в телефоне знает о пробке за пять минут до того, как вы в нее уперлись. Поговорим о том, как искусственный интеллект помогает врачам находить болезни на рентгеновских снимках и почему он иногда «галлюцинирует» - то есть врет вам с невероятно уверенным и умным лицом.
Мы пройдем путь от того, как ИИ подбирает для вас сериал на вечер, до того, как он управляет целыми заводами. Вы увидите, что искусственный интеллект - это не столько про замену человека, сколько про усиление его возможностей. Это самый мощный увеличительный стекло для нашего разума, которое когда-либо создавало человечество.
Вам не нужно быть программистом, чтобы понять эту книгу. Вам нужно быть только любопытным.
Итак, отложите на секунду мысли о восстании машин. Давайте просто разберемся, как работает этот неутомимый, иногда чудаковатый, но невероятно полезный цифровой стажер, который уже незаметно стал частью нашей повседневности. Добро пожаловать в мир, где код учится сам.
Часть 1. Как это работает? (Без заумных формул)
Глава 1. Нейронная сеть: Мозг из лего
Слово «нейросеть» звучит пугающе сложно. В воображении сразу возникают кадры из фантастических фильмов: стеклянные колбы, мерцающая зеленая жидкость и искусственный мозг, пульсирующий в такт электронным схемам.
На самом деле всё гораздо прозаичнее, уютнее и больше похоже на детский конструктор.
Метафора: Представьте себе стену, сложенную из тысяч самых простых выключателей. Каждый такой выключатель - это «нейрон». Он не умеет думать, философствовать или вспоминать вкус бабушкиного пирога. У него всего две функции: он может быть либо выключен (состояние 0), либо включен (состояние 1).
Эти выключатели соединены между собой проводами разной толщины. В мире нейросетей толщина провода - это «вес». Если провод толстый, сигнал проходит по нему легко и сильно влияет на следующий выключатель. Если провод тонюсенький, сигнал по нему едва пробивается.
Как это работает? Представьте, что мы хотим научить компьютер отличать кота от собаки.
Аналогия с пиццей: Обучение нейросети очень похоже на приготовление пиццы по вкусу, когда у вас нет рецепта. Вы не знаете точных пропорций. Вы просто пробуете. «Слишком много соли» - вы уменьшаете соль. «Мало сыра» - добавляете. Нейросеть делает то же самое, только с числами.
Мы показываем сети первую фотографию. Это кот. Сигналы от пикселей картинки (темные точки ушей, светлые усы, вытянутый зрачок) влетают в первый ряд выключателей. Они щелкают, передают эстафету второму ряду, тот - третьему. Сигнал бежит по «проводам» и в самом конце зажигает одну из двух лампочек на табло: «КОТ» или «СОБАКА».
На первой фотографии сеть ошиблась и зажгла «СОБАКА». В этот момент происходит самое важное. Мы не ругаем сеть матом и не бьем по системному блоку. Мы просто мягко говорим: «Нет, дружок, это кот». Сеть делает «щелчок по носу» самой себе. Она математически идет назад по своим проводам и чуть-чуть меняет их толщину. Те провода, которые привели к ошибке, она делает тоньше. Те, которые случайно указали в правильную сторону - чуть толще.
Мы показываем вторую фотографию. Снова кот. Снова ошибка. Снова корректировка. Третью, четвертую, сотую, тысячную.
В какой-то момент, примерно на десятитысячной фотографии спящего, играющего, рыжего, черного и лысого кота, происходит магия. Толщина проводов выстраивается в идеальный, уникальный узор. Теперь, когда сеть видит характерные треугольные уши и усы, толстые провода передают мощный сигнал именно по тем цепочкам, которые в итоге зажигают табло «КОТ». Она не знает, что это «млекопитающее семейства кошачьих». Для нее кот - это просто вот такая математическая комбинация светящихся точек.
Как это выглядит на самом деле: Мини-детектив Представьте, что нейросеть - это следователь, а картинка - место преступления. Обычная программа-следователь работает по инструкции: «Если на месте найден цилиндр и лупа - это Шерлок Холмс. Если найдена шляпа с пропеллером - это Карлсон». Но что, если Шерлок вышел без цилиндра? Программа разведет руками. Нейросеть-следователь работает иначе. Она разбивает место преступления (картинку) на тысячи улик: «Так, в левом верхнем углу есть два светящихся круга (глаза). Внизу - что-то пушистое и горизонтальное (хвост). Уши заострены. Усов - 14». По отдельности эти улики ничего не значат. Но когда они сходятся вместе, срабатывает внутренняя «интуиция» - те самые выстроенные толщины проводов. И следователь говорит: «Это кот. Я не знаю, как его зовут и что он ел на завтрак, но по совокупности признаков это на 98% кот».
Пояснение термина: Слои Эта стена из выключателей не плоская. Она состоит из слоев.
Входной слой: Сюда мы «кладем» картинку. Каждый пиксель - это сигнал для одного нейрона.
Скрытые слои: Это «цех обработки». Первый слой замечает только самые простые вещи: углы, линии, пятна света и тени. Он передает их второму слою. Второй слой, видя набор линий, понимает: «Ага, из этих линий складывается овал и два треугольника сверху - похоже на морду». Третий слой видит, что из этих фигур собирается именно кошачья морда, а не человеческая. Таких слоев могут быть сотни.
Выходной слой: Он выдает вердикт. Набор цифр: «Кот - 95%, Собака - 4%, Коврик - 1%».
Пример из жизни: Почему ваш телефон знает, что на фото еда? Когда вы загружаете фотографию в соцсеть и она сама предлагает отметить друзей - это работает нейросеть распознавания лиц. Когда вы наводите камеру на меню в китайском ресторане и приложение переводит иероглифы в реальном времени - это нейросеть распознавания текста.
Вы замечали, что в смартфонах есть функция «Воспоминания»? Телефон сам собирает в альбом все ваши фотографии с пляжа или все кадры, где вы держите на руках одну и ту же собаку. Он не знает, что это пляж, потому что вы так сказали. Он видит нейронами: «Много синего внизу (вода), много желтого сверху (песок), много голых тел». И ставит тег: «Отпуск».
Нейросеть - это не интеллект в человеческом понимании. У нее нет сознания, желаний и чувства юмора. Это просто невероятно сложная система настройки «громкости» и «толщины проводов» между миллиардами простых выключателей. Но именно эта способность - находить скрытые закономерности в хаосе данных, не имея перед собой жесткой инструкции, - и делает искусственный интеллект самым мощным инструментом, который когда-либо был в руках человека.
В следующей главе мы разберем, чем именно «кормят» эту стену из выключателей, чтобы она не сошла с ума от голода, и почему фраза «данные - это новая нефть» - не просто красивый лозунг, а суровая техническая реальность.
Глава 2. Данные: Новая нефть или гора грязного песка?
В первой главе мы представили нейросеть как стену из светофоров, которая учится отличать котов от собак. Но у любого, даже самого гениального стажера, есть одна фундаментальная проблема: он не может учиться в пустоте. Чтобы выстроить те самые «толщины проводов» и понять, что треугольные уши принадлежат коту, сети нужно одно - топливо.
В мире искусственного интеллекта этим топливом являются данные.
Термин: Датасет (набор данных) - это просто огромная цифровая свалка (или, если мы аккуратны, библиотека), где хранятся миллионы примеров: фотографии, тексты, записи голоса, цифры из банковских выписок.
Если нейросеть - это двигатель нашего автомобиля, то данные - это бензин. И здесь кроется самый важный, критический секрет всего современного ИИ.
Метафора: Данные для искусственного интеллекта - это дрова для печи. Представьте, что вы пытаетесь согреть дом. Если вы принесете в гостиную сырые, гнилые доски, старые газеты и пару автомобильных покрышек, и бросите их в камин, что произойдет? Вы получите гору едкого черного дыма, запаха гари и, если очень не повезет, устроите пожар. Тепла не будет. Но если вы возьмете сухие, ровные березовые поленья, печь загудит ровно и даст жар, который согреет весь дом.
В мире ИИ этот принцип называют GIGO: Garbage In, Garbage Out (Мусор на входе - мусор на выходе). Если вы обучите нейросеть распознавать фрукты на фотографиях из интернета, где половина снимков - это котики, а вторая половина - размытые картинки с логотипами супермаркетов, ваш ИИ будет выдавать шедевральный, но бесполезный результат: он будет находить логотипы на яблоках и кошачьи усы на бананах.
Пояснение: Почему данные нужно «чистить»? В учебниках данные часто рисуют в виде красивых, ровных таблиц. В реальности данные - это гора грязного песка, которую намывают старатели. Перед тем как отдать информацию нейросети, ее нужно «помыть» и «рассказать ей сказку на ночь» (этот процесс называется разметкой).
Пример с котом: Мало просто накидать в сеть миллион фотографий. Сеть не знает, где на фото заканчивается кот и начинается диван. Человек (да, пока что эту скучную работу делает человек) должен вручную обвести кота на каждом снимке красной рамочкой. Мы буквально тычем пальцем: «Смотри, вот это - кот. А вот это, красное, - это его граница. Запомни». Этот процесс называется сегментацией.
Пример с медициной: Чтобы научить ИИ находить опухоль на рентгене, врачи должны просмотреть тысячи снимков и поставить галочки: «Здесь рак», «Здесь киста», «А здесь пациент просто вдохнул и легкие расправились необычно». Без этих человеческих «галочек» нейросеть будет видеть просто серые пятна.
Сценарий: Как ИИ ловит мошенников в банке Давайте разберем, как данные превращаются в безопасность. Представьте, что вы - банк. У вас есть данные о миллионах транзакций.
Сначала нейросеть просто наблюдает. Она строит вашу «нормальность». Она знает, что Вы каждый вторник покупаете кофе по 250 рублей, раз в месяц платит за ипотеку и раз в год покупает авиабилет в Сочи. Это - сухие березовые поленья, ваш нормальный профиль.
Вдруг в системе происходит операция: в три часа ночи с вашей карты пытаются снять все деньги в банкомате где-нибудь в Бангкоке, хотя Ваш телефон находится в Рязани.
Для человека это тоже подозрительно. Но ИИ принимает решение за доли секунды. Почему? Потому что в его «печке» уже лежат миллионы других «дров» - данных о реальных кражах. Он видит паттерн: ночная активность + нетипичная геолокация + обнуление счета. Срабатывает сигнализация, и вам приходит СМС: «Подтвердите операцию».
Если бы банк обучил эту же сеть на плохих данных (например, на данных только из 90-х годов, когда не было смартфонов и геолокации), ИИ бы постоянно блокировал честных людей, которые просто расплачиваются в отпуске, и пропускал бы умных мошенников.
Аналогия: Почему ИИ не понимает сарказм? Возьмем данные в виде текста. Если вы хотите научить нейросеть понимать отзывы покупателей, вы даете ей прочитать миллион комментариев. Она быстро понимает: слово «ужасно» - это плохо, а слово «великолепно» - это хорошо. Но если человек пишет: «Ну просто восхитительная доставка, посылка шла всего три месяца, коробка мокрая, а внутри кирпич вместо телефона. Обязательно закажу еще раз», - нейросеть сломается. Она увидит слова «восхитительная» и «обязательно закажу еще раз» и поставит отзыву пять звезд. Почему? Потому что в ее «дровах» было слишком мало примеров человеческой иронии. Данные были неполными. Чтобы это исправить, людям приходится вручную размечать тысячи таких саркастичных отзывов, объясняя сети: «Смотри, здесь люди говорят одно, а думают прямо противоположное».
Мини-история: Как Microsoft научила бота ругаться В 2016 году компания Microsoft запустила в Твиттере чат-бота по имени Тэй. Идея была прекрасной: пусть бот учится общаться у людей и становится дружелюбным собеседником. Проблема была в «дровах». Тэй училась в реальном времени у пользователей Твиттера. Пользователи, поняв механику, за сутки скормили боту тонны «старых покрышек»: расистских шуток, оскорблений и политического экстремизма. Печь перегрелась. ИИ, следуя своей математической логике, решил, что это и есть нормальный язык общения. Через 16 часов Microsoft пришлось выключить Тэй, потому что бот начал выдавать в эфир такое, что заставило бы покраснеть даже портового грузчика.
Это главный урок второй главы: искусственный интеллект не обладает мудростью. Он - идеальное зеркало. Если вы покажете ему лучшее, что есть в человечестве, он станет вашим самым полезным помощником. Если вы покажете ему мусор - он станет очень умным мусорным бачком.
Поэтому, прежде чем бояться восстания роботов, стоит побеспокоиться о том, что именно мы в них загружаем прямо сейчас. В мире ИИ должность «уборщика данных» (Data Scientist) сегодня ценится на вес золота, потому что именно эти люди решают, будет ли наш цифровой стажер гением или профессиональным вредителем.
Глава 3. Машинное обучение: Обучение без программиста
До появления искусственного интеллекта компьютеры были абсолютными педантами. Если вы писали программу, она выполняла ровно то, что вы написали, буква в букву. Если в коде была команда: «Если пользователь нажал кнопку А, покажи картинку Б», - компьютер показывал картинку Б. Если пользователь нажимал кнопку А, но держал палец на полмиллиметра левее, или экран был залит каплей кофе, и кнопка распозналась как «нечто неопределенное», компьютер впадал в ступор.
Программист был богом, который прописал судьбу машины от рождения до смерти. Этот подход называется жестким программированием.
Машинное обучение (Machine Learning) - это тихая революция, в ходе которой мы уволили программиста с должности диктатора и перевели его в разряд учителей.
Пояснение: Машинное обучение - это способ давать компьютеру не готовые правила, а цели и примеры. Мы не говорим: «Как решать задачу». Мы говорим: «Вот тебе миллион решенных задач, сам найди закономерность».
Аналогия: Обучение ребенка Представьте, что вы учите малыша отличать кошку от чашки.
Жесткое программирование (старый метод): Вы даете ему учебник. «Смотри, если объект имеет четыре лапы, хвост, усы и говорит "мяу" - это кошка. Если объект имеет ручку, круглое пузо и из него идет пар - это чашка». Ребенок зазубривает правила. Но если вы покажете ему чашку в виде кошачьей головы (такие существуют), его мозг зависнет. Правило сломалось.
Машинное обучение (новый метод): Вы просто тыкаете пальцем в разные предметы. «Киса. Чашка. Киса. Киса. Чашка». Вы не объясняете анатомию. Вы просто показываете примеры. Через неделю ребенок начинает уверенно тыкать пальцем в экран планшета с игрой, где нужно сортировать животных, даже если киса там нарисована фиолетовой и в очках. Он не знает правил, он просто почувствовал закономерность.
Именно так работает современный спам-фильтр в вашей почте.
Сценарий: Как рождается спам-фильтр Программисты из «Яндекса» или Google не сидят и не пишут список правил: «Если в письме есть слово "ВИНОГРАТ" (с ошибкой) - это спам. Если есть слово "наследство" - это спам». Это было бы слишком долго и бесполезно: мошенники тут же сменили бы слова. Вместо этого программисты берут гору писем, которые люди уже рассортировали сами. Миллионы пользователей годами нажимали кнопку «В спам». Эту гору писем скармливают алгоритму. Машина начинает сама считать. Она не знает значения слов, но она видит математику:
«Ага, в письмах, которые люди назвали мусором, словосочетание "заработок в интернете" встречается в 500 раз чаще, чем в обычных письмах».
«В обычных письмах после слов "Привет, как дела?" часто идет вопрос про детей. В спаме - ссылка на подозрительный сайт».
«В спаме часто пишут ЗАГЛАВНЫМИ БУКВАМИ и ставят много восклицательных знаков!!!!»
Алгоритм строит внутри себя сложную, невидимую человеку карту вероятностей. Когда вам на почту падает новое письмо, он не читает его как человек. Он переводит его в цифры и смотрит, на какую сторону его внутренней «карты» это письмо больше похоже - на сторону «Котиков от бабушки» или на сторону «Нигерийского принца».
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.









