Простое объяснение

Помните фильм Игра в имитацию? Трагическая история гениального человека, который расшифровал секретные сообщения немецкой Enigma, косвенно сократил время Второй мировой войны, спас миллионы жизней, а позже был обвинен в гомосексуализме, вынужден подвергнуться химическому воздействию. лечения, и вскоре после этого закончил свою жизнь? Настоящий Алан Тьюринг совершил гораздо больше блестящих чудес, чем это. Он также опубликовал статьи по теориям искусственного интеллекта (ИИ). На самом деле название Игра в имитацию не имело отношения к фильму. Это была игра, которую он упомянул в одной из своих статей, в которой люди однажды создадут машину, которая будет настолько хорошо имитировать людей, что человека на другом конце комнаты обманут, что он общался с другим человеком. Тьюринг был пионером в области информатики. Только после его смерти он станет известен как отец AI.

В фильме он создает машину, которая пытается исчерпать все возможности комбинаций букв и слов, пытаясь сопоставить секретный код загадки в значимые слова. Машина работает весь день и всю ночь без остановок. Представьте, сколько времени потребуется человеку, чтобы изучить все возможные шаблоны и попытаться расшифровать зашифрованные секретные военные сообщения. Машина не могла бы расшифровать код, если бы Тьюринг не дал ей инструкций, что и как делать, и Тьюринг не смог бы взломать код самостоятельно. Это был прекрасный союз человеческого мозга, скорости и точности машины.

Взаимосвязь между ИИ, машинным обучением и глубоким обучением

Это часть области информатики. ИИ - это более широкая область, которая стремится изучать и проектировать машины, способные к человеческому разуму и принятию решений. (Nvidia) Машинное обучение (ML) - это подполе ИИ, которое использует статистические математические подходы для достижения ИИ. Стэнфорд определяет машинное обучение как науку о том, как заставить компьютеры работать без явного программирования. Глубокое обучение (DL) - это подполе машинного обучения, которое реализует машинное обучение, подобное биологии нашего мозга, принимая данные многих измерений и обрабатывая их через несколько сетей и нейронных сетей. Это сложно переварить! Не волнуйтесь, я объясню. Чтобы понять машинное обучение, давайте разберемся с ним в более широком контексте, начиная с ИИ.

Искусственный интеллект

Человеческий интеллект и способность принимать решения демонстрируются машинами

Тогда и сейчас

В 1950-х годах современные калькуляторы и банкоматы считались ИИ, поскольку процесс расчета, снятия и внесения денег можно было считать человеческим интеллектом. Перенесемся в наши дни, эти инструменты представляют собой просто «эффекты ИИ», потому что определение ИИ превратилось из простого человеческого интеллекта в демонстрацию принятия решений.

Что такое ИИ?

Представьте, что вы хотите пойти в ближайшую кофейню, которая открыта прямо сейчас в 5 часов утра. Вместо того, чтобы просматривать набор меню с указанием часов работы и выяснять, какой магазин ближайший, теперь мы можем спросить голосовых помощников Alexa, Google Assistant, Siri или Cortana "Какая ближайшая кофейня?" А теперь представьте, что вы смотрели комедию и не могли насытиться смехом. Вместо того, чтобы вручную искать в названиях фильмов, пытаться выяснить, является ли фильм комедией, а затем собирать список возможных комедий для следующего просмотра, теперь мы можем полагаться на Netflix или Youtube для отображения списка рекомендаций сразу после окончания воспроизведения фильма. Разве не удивительно удобно, что следующее автоматически воспроизводимое видео на Youtube всегда имеет ту же тему, что и ранее просмотренное видео, учитывая, что существует так много видео на разные темы? Затем представьте, что вы хотите жить в мире, свободном от спама. Более половины получаемых нами электронных писем - это «спам» (нежелательная реклама или нерелевантные несоответствующие сообщения). Вместо того, чтобы листать каждое электронное письмо, нажимать, чтобы удалить некоторые, а затем открывать другие, чтобы убедиться, что они не являются спамом, наши поставщики услуг электронной почты, такие как Gmail, автоматически помещают все эти потенциально нежелательные электронные письма в папку для спама. Наконец, представьте себе день, когда мы не хотим ехать на работу, но также не хотим тесниться с другими в общественном транспорте. Мы хотим наслаждаться роскошью собственных автомобилей, но устали от ручного вождения, который мы повторяем каждый день, чтобы добраться из одного пункта назначения в другой. Самостоятельные автомобили здесь.

Все это примеры современного ИИ в процессе разработки. В то время как банкомат может выполнить одну задачу - дать мне 100 долларов, когда я нажимаю кнопку снятия средств, беспилотные автомобили могут выполнять несколько спонтанных задач, которые он считает правильными: ехать прямо на зеленый свет, замедлить, повернуть, остановиться в пункте назначения. В общем, ИИ выполняет список задач. Чем больше задач он может выполнить, тем умнее он кажется.

Почему у нас есть это поле и почему оно важно?

Люди создали это поле с амбициозной целью - служить себе. В 2000-х годах у нас был бум данных из-за увеличения вычислительной мощности компьютеров (наши сообщения в Facebook, статьи в Интернете, обзоры Yelp в Интернете, каждая покупка вина, которую мы делаем, которая записывается в электронную таблицу супермаркета и загружается в Интернет. и т. д.) Человеческому глазу потребовалась бы целая вечность, чтобы разобраться в этом гигантском объеме данных. Благодаря вычислительной мощности нашего компьютера мы теперь можем создавать машины, которые просматривают эти данные, узнают о нашем мире, а затем сообщают нам, что они узнали. Искусственный интеллект - это широкая область, которую можно применить в любых отраслях, которые только можно вообразить. В ходе этого процесса, теперь, когда он узнал все о нашем мире, мы также можем проектировать машины, демонстрирующие человеческий интеллект и способность принимать решения, чтобы мы могли автоматизировать повторяющийся ручной труд с большей скоростью и точностью и освободить нас для выполнения более творческих задач. Подумайте о том, как промышленная революция освободила нас от ручного труда и привела к более творческим задачам (например, разработке искусственного интеллекта!). Google Cloud имеет отличные сроки по AI, ML и DL.

«AI - это новое электричество» - Эндрю Нг.

С этой амбициозной целью - расширить возможности людей, ИИ разбит на более мелкие и специализированные области. Машинное обучение - наиболее важное подразделение. Подход к достижению ИИ, мы обучаем машины всем нашим человеческим знаниям и обучаем их принимать соответствующие меры. Изучение мира и выяснение того, как действовать, является основой человеческого поведения, и, следовательно, машинное обучение является строительным блоком ИИ.

Разница между машинным обучением, наукой о данных и статистикой

В поисках искусственного интеллекта Артур Сэмюэл из IBM ввел термин «машинное обучение» в 1959 году. Машинное обучение включает в себя много математики, как вы немного увидите, но это лишь узкий раздел науки о данных. Это поле также очень похоже на статистику, потому что это прикладная статистика.

Машинное обучение

Подход к достижению ИИ путем обучения машин обучению

Вы не поверите, но «разумные» человеческие решения и действия можно свести к простым шаблонам и воссоздать с помощью математики. Помните, как вы впервые научились переходить улицу? Вы ждали, пока не загорится свет и машины слева и справа от вас остановятся на соответствующих линиях. Если машина внезапно тронулась, вы пересматривали, безопасно ли переходить дорогу. Вы узнаете закономерности? Если свет красный, остановитесь. Иначе, если свет не красный, идите пешком. То, как наши решения связаны с математикой, немного сложнее. Если мы обнаруживаем машину, движущуюся к нам, когда мы идем, мы прогнозируем возможность того, что нам нужно прекратить идти или уйти. Чем ближе к нам автомобиль под углом и чем быстрее он движется, тем выше процент пробега.

Обучающие машины, как будто они наши дети

В то время как люди учатся на опыте, машины учатся на «данных» (когда мы отмечаем себя на своих фотографиях в Facebook, текстовых сообщениях и любых наборах данных, которые мы им предоставляем). Чем больше у людей опыта и чем больше данных у машины, тем точнее мы. Мы обучаем машины тремя способами: под наблюдением, без учителя и обучение с подкреплением. Существует длинный список алгоритмов для выполнения каждого типа обучения. Мы рассмотрим только некоторые. «Алгоритмы» в контексте машинного обучения - это наборы пошаговых математических инструкций, которые мы даем машине для работы. После того, как машина отработает этот алгоритм, она становится «моделью» (гипотезой того, как, по ее мнению, устроен мир). Эти модели постоянно совершенствуются, поэтому машина совершенствует навыки. Давайте посмотрим на примеры.

Обучение с учителем

Один из способов обучения людей - «обучение». Мы можем классифицировать кошку, потому что нам сказали, что такое кошка, и мы видели более чем достаточно кошек, чтобы сосчитать. Мы можем классифицировать письмо как спам, потому что знаем, что такое спам. Мы можем сделать вывод, что нам только что подали вино из-за цвета жидкости и содержания алкоголя. Мы можем предсказать стоимость дома, посмотрев на его расположение, размер и удобства. Мы можем предсказать, является ли рак злокачественным, глядя на образцы предыдущих видов рака. Чтобы обучить машину обучению таким образом, мы даем ей набор «обучающих данных» с «желаемым результатом».

Это кошка?

Чтобы «обучить» машину классифицировать такие объекты, как кошки, мы находим в Интернете миллионы фотографий кошек. Да, каждый, кто публикует что-то в Интернете, косвенно участвует в машинном обучении! Чем больше данных мы передаем машине, тем точнее. Итак, мы включаем изображения кошек разного цвета, разных размеров, под разными углами, зевоты, прыжков, растяжек и всего остального, что мы можем придумать. Мы задаем машине «желаемый результат» для этих данных обучения, помечая фотографии словом «кошка». После того, как машина прошла через популярный алгоритм под названием «алгоритм классификации», она узнала «модель» того, как устроен мир кошек.

Теперь, чтобы протестировать модель и посмотреть, научилась ли она, мы даем ей фотографию и спрашиваем, кошка ли это. Машина начинает запускать модель. Глядя на каждую «особенность» на фотографии, она получает «вес». После еще нескольких вычислений, которые мы проинструктировали, он вычислит проценты (например, 50% стул, 70% пушистый коврик, 30% кошка). В конце он вернет класс с наивысшим числовым значением - пушистый коврик. Если модель сказала нам, что это кошка, мы должны обучить ее еще большим количеством фотографий. Может еще фото белых кошек. Это пример того, как машины могут идентифицировать / классифицировать объекты.

Это спам по электронной почте?

Чтобы научить машину предсказывать возможность «да» или «нет», мы можем предоставить ей обучающие данные о предыдущих спам-письмах. Допустим, 40% писем в этих обучающих данных с фразой «Последний шанс» были помечены как спам, а 85% из них с фразой «Действуйте сейчас» - как спам. После того, как машине предоставлены эти обучающие данные, у нее появляется модель того, как она думает, как работают спам-сообщения.

Теперь мы тестируем нашу модель с новым письмом. В рамках нашей модели мы могли бы проинструктировать его говорить «да» любому проценту выше 80 и «нет» любому проценту ниже. Когда он получает новое электронное письмо, выполняет поиск и обнаруживает фразу «Действуйте сейчас», он помечает это письмо с вероятностью 85% как спам. Поскольку этот процент превышает 80%, которые мы установили, он вернет yes. Это «Наивный алгоритм Байеса».

Сколько будет стоить этот дом?

Чтобы научить машину предсказывать и возвращать числа, такие как цены на жилье, мы могли бы предоставить ей обучающие данные о существующих ценах на жилье. Он проходит через «алгоритм линейной регрессии» и приходит к модели, которая выглядит как на диаграмме ниже. Его модель предполагает линейную корреляцию между размером дома в квадратных футах и ​​ценой. С помощью этой модели он уверенно предсказывает число в зависимости от того, где находится дом.

Обучение без учителя

Еще один способ обучения людей - обнаружение закономерностей. Мы узнаем, что наша кредитная карта украдена, когда обнаруживаем ненормально высокие расходы. Мы узнаем, что холодное пиво или холодная сангрия приносит больше удовольствия, чем красное вино комнатной температуры в жаркий летний день. Мы узнаем, что если мы посмотрели несколько фильмов ужасов и все еще не любим их, мы, вероятно, больше не хотим смотреть фильмы ужасов. Этот пример обучения - это когда у нас есть большой опыт и данные, но вместо того, чтобы иметь ключ ответа, с которым можно сопоставить или сравнить новый опыт, мы просим машину вычислить некоторые числа, чтобы найти и обнаружить закономерности, которые приводят к совершенно новым выводам, которые мы, возможно, не подумали.

Обнаружение аномалий

Чтобы узнать, есть ли что-нибудь интересное в банковских транзакциях, мы можем передать данные транзакции клиента машине. Он рассмотрит особенности и сравнит их согласованность с любыми шаблонами. Если есть покупка, которая значительно отличается (расходы ненормально высоки или аномально низки по сравнению с остальными данными), автомат только что обнаружил потенциальное мошенничество с кредитными картами. Теперь вы видите, как Chase Bank, вероятно, придумал, как отправить вам электронное письмо для подтверждения подозрительной транзакции.

Ассоциация Открытие

Когда мы вводим в машину данные о наших режимах сна, она может научиться связывать переменные. Это может указывать на то, что время сна человека обычно составляет от 23:00 до 5:00. Конечно, чем больше данных мы даем ему, тем точнее (для тех, кто утверждает, что они никогда не спят!). На данный момент машина узнала, что прекрасное время для построения плана человеческого разрушения - с 23:00 до 5:00. Шучу.

Кластеризация

Чтобы найти значимые данные в мире развлечений, мы можем скормить машине данные о привычках клиентов. Можно заметить, что очень часто клиенты покупают детские подгузники и детские кроватки. Машина может не знать, что такое подгузники или кроватки, но, основываясь на расчетах, сколько раз они собирались вместе, и сколько раз подгузники и бананы были куплены вместе, она знает, что что-то происходит. Теперь он начинает группировать похожие товары вместе. То же самое для фильмов и просмотра видео. Теперь вы получите представление о том, как работает система рекомендаций Amazon, Youtube и Netflix.

Обучение с подкреплением

Последний способ, которым мы учимся, - это обнаружение шагов и стратегий и обучение себя снова и снова, чтобы у нас было больше шансов получить то, что мы хотим. Классический пример - игры. Подумайте об игре, в которую вы играете снова и снова, пока не усвоите последовательность шагов, которые нужно предпринять для победы. А теперь представьте, что вы разыгрываете все возможности и можете сохранить в голове все шаги, которые привели вас к победе. В следующий раз, когда вы играете, вы точно знаете, какие ходы вам следует делать, независимо от того, какой ход сделает ваш оппонент. Или ты? Людям сложно хранить и вспоминать всю эту память, но машинам это удается. Понимая это, неудивительно, что машины успешно побеждают людей в играх. Машина Deep Blue от IBM победила чемпиона мира по шахматам Гарри Каспарова в шахматах в 1997 году и Google AlphaGo победить чемпиона мира Ли Седола в го в 2016 году (предположительно, это самая сложная игра).

Агент, Награда, Окружающая среда, Состояние, Действие

Крестики-нолики - это довольно простая игра, в которой каждый игрок либо «X», либо «O» по очереди кладет фишку на пустое поле на доске, пока не будут найдены три последовательные фишки. Эксперты по машинному обучению называют игрока «агентом», конечную цель выигрыша тремя последовательными фишками - «наградой», а игру «Крестики-нолики» - «средой. », текущее состояние игры - как« состояние », а сделанный ход - как« действие ». Важно отметить, как машина учится делать в сложной неопределенной среде, не имея представления о том, как ее действия повлияют на получение награды. Как и люди, он может ощущать свое окружение только путем переоценки того, как каждое действие приближало или отдаляло его от награды.

Каждый раз, когда люди играют, мы подбираем стратегии (например, начало игры первым дает преимущество или размещение вашей фигуры в центре ограничивает шансы вашего оппонента на победу). Когда машины выбирают эти стратегии, они становятся более точными с математической точки зрения. Используя математику (которую я придумаю), они могут вспомнить, что если начать первым, то шанс на победу составляет 75%, потому что из 2000 раз он выиграл 1000 раз, а из 1000 раз он выиграл 750 раз. двигаться. На каждом шаге мы говорим ему обрабатывать числа и связывать их с разными переменными. Чтобы решить, в какой из ящиков положить свой игровой элемент следующим, мы попросили его вычислить еще несколько чисел, чтобы выяснить, какой ящик увеличит число, связанное с наградой. Каждый раз после того, как машина делает ход, она повторно оценивает свое состояние и пересчитывает вознаграждение. Если его действие приближало его к победе, число, связанное с его наградой, увеличивается, и наоборот.

Мы инструктируем машины повторять эти математические шаги снова и снова; сохранение данных о его ходах, пересчет его шансов на победу с каждым ходом, обновление числа, связанного с его наградой, и принятие решения о следующем наилучшем возможном шаге, выясняя, какой ход сведет к минимуму потерю награды. Мы могли бы проинструктировать машину продолжать играть против разных версий себя снова и снова и, возможно, останавливаться только тогда, когда она выиграет 100% из последних 100 игр, в которые она сыграла. Это « алгоритм минимакса .

Глубокое обучение

Глубокое обучение выросло как подполе машинного обучения. В то время как машинное обучение - это способ достижения ИИ, глубокое обучение - это способ реализовать машинное обучение с учетом данных многих измерений. Подобно биологии нашего человеческого мозга, мы помещаем данные «ввод» через несколько «нейронных сетей» в «нейронные слои »И получите« вывод ». Каждая функция (задача) - это «нейрон», а каждый нейрон - «слой». Чем больше сетей, тем сложнее. Отсюда и название «Глубокое обучение». В распознавании лиц (распознавание чьего лица видно), компьютерном зрении (классификации и распознавании того, что происходит на изображении) и распознавании речи (перевод вашей устной речи в машинно-понятный текст) используется глубокое обучение. Давайте посмотрим на примеры.

Нейронная сеть

Распознавание текста

Глубокое обучение - это подмножество многих нейронных сетей. Но что такое единая нейронная сеть? Как вы думаете, как компьютер может распознать «9», написанную неряшливым почерком? Давайте посмотрим на возможные слои, через которые машина может пройти, пока не придет к выводу, что записана цифра «9». «784» слева представляет собой текст размером 28 на 28 пикселей. Один слой (нейрон) может распознавать части текста, образующие круглый круг, или части, образующие линии. Могут быть специальные «веса» (специальное числовое значение), присваиваемое особым характеристикам, что означает, что мы ценим те из них, которые больше всего (например, круглый круг). Этот нейрон теперь имеет номер и влияет на следующий нейрон. Второй слой может заключаться в том, чтобы найти один круг и одну прямую линию. Мы могли бы добавить фактор «смещения», потому что прямые линии могут быть легко обнаружены, а он смещен, так что требуется дополнительная математика. Последний слой может пройти через все числовые цифры, чтобы увидеть, что состоит из одного круга и одной линии. Представьте себе повторение этих шагов для предложения в форме чисел, алфавитов и специальных символов («?», «.», «{}» И т. Д.)

Как и все в машинном обучении, модели необходимо тестировать и уточнять. Если «9» не распознается, мы настраиваем параметры, которые мы даем ему, такие как вес и коэффициенты смещения. Чтобы точно и аккуратно не перевернуть результат, эксперты будут использовать «сигмовидную функцию», которая использует математические производные для настройки параметров. Мы всегда совершенствуем модели.

Множественные нейронные сети

Обнаружение лица

Чтобы определить, существует ли человеческое лицо или нет, требуется множество алгоритмов машинного обучения, чтобы собрать и распознать лицо. Таким образом, один нейронный слой в этом процессе глубокого обучения может классифицировать и идентифицировать определенные особенности (зубы, зрачок, ноздри). Другой слой может определять обобщения (если это рот, глаз, нос). Другой слой может определять, находится ли он в факт человеческое лицо или нет.

Распознавание речи

Между тем, как вы говорите, и тем временем, когда голосовой помощник, такой как Алекса, отвечает вам, подумайте о многих измерениях данных, которые вы ему передаете. Множественные нейронные сети оценивают получаемые данные: какие слова вы говорите, на каком языке говорите, задаете ли вы вопрос.

Как усовершенствовать каждую модель ML, DL

Теперь, когда вы познакомились с тремя типами машинного обучения (контролируемым, неконтролируемым и усиленным) и глубоким обучением, есть три шага к обучению. (Подкаст Руководства по машинному обучению) Основываясь на том, что мы знаем из нашего опыта / данных, мы можем что-то предсказать / вывести. Каждый раз, когда мы прогнозируем / делаем неверные выводы, мы извлекаем уроки из нашей ошибки / потери. После каждого опыта мы дорабатываем / переобучаем. Точно так же мы совершенствуем наши машины после того, как они обучаются этим алгоритмам (набор пошаговых математических инструкций) и создают модель (гипотезу о том, как устроен мир. ) После того, как модели предсказывают / делают выводы, их ответы переходят в другой набор инструкций, который проверяет, не допустила ли она ошибки. Когда это происходит, мы уточняем и настраиваем наши гиперпараметры (виды данных, например фотографии кошек, которые мы им предоставляем), пока не будем удовлетворены характеристиками модели.

Как узнать, какую модель выбрать для каждой задачи

Есть много алгоритмов, которые могут ответить на один и тот же вопрос или выполнить одну и ту же задачу. Как мы узнаем, что выбрать? Мы можем предсказать, сколько будет стоить дом, используя алгоритм обнаружения ассоциаций без учителя или алгоритм линейной регрессии с учителем. Чтобы найти лучший алгоритм, мы проверяем эти модели, собирая результаты, которые они дают, и затем наблюдая, насколько они «точны» каждый раз и насколько «часто они терпят неудачу ». Пусть победит лучший алгоритм.

Используемая технология

Языки

Инженеры-программисты будут «код» или «программировать» (писать) алгоритмы для выполнения компьютерами. Эти программы написаны не на понятном человеку английском языке, а на понятном для компьютера языке. Так же, как люди общаются на таких языках, как французский, итальянский, испанский, китайский или английский , компьютеры могут понимать такие языки, как «Python», «C», «C ++», «R »,« Java »и« JavaScript ». Это одни из языков, которые используют специалисты по машинному и глубокому обучению.

Каркасы

Программные инженеры также будут использовать набор инструментов под названием framework, чтобы помочь им. Фреймворки - это библиотеки инструментов, которые инженеры создали друг для друга. Например, « TensorFlow - это структура математических формул и вычислений, которую используют такие компании, как Google, Nvidia, Uber, Airbnb, Xiaomi, Qualcomm, DeepMind и Twitter .

Заворачивать

Это было много! Но, надеюсь, вы увидели верхушку айсберга того, что такое машинное обучение и как сочетание подходов машинного обучения к нейронным сетям и глубокому обучению может расширить возможности искусственного интеллекта с человеческим интеллектом и принятием решений. После обучения и уточнения моделей мы, по сути, получаем «прогностические модели», которые могут помочь ответить на вопросы, которые мы должны знать из наших данных (например, является ли этот рак злокачественным?), Или помочь нам предсказать неизвестные (например, что есть ли какие-то тенденции в человеческом поведении?) Чтобы внести свой вклад в машинное обучение и / или глубокое обучение, нам просто нужно отточить свои математические навыки, выучить некоторые языки программирования, изучить некоторые фреймворки и будем вносить свой вклад в развитие ИИ.

«Технология несет те ценности, которые придают ей ее создатели». -Фэй-Фэй Ли

Что касается многих проблем, связанных с тем, что ИИ становится силой зла, если вы понимаете машинное обучение и глубокое обучение, вы можете видеть, что машины знают и делают только то, что мы хотим, чтобы они знали и делали. Доктор Фей-Фей Ли, директор Стэнфордской лаборатории искусственного интеллекта и лаборатории компьютерного зрения, проводит отличную аналогию с ножом. Нож - это очень полезный инструмент, но он также может быть опасен. Искусственный интеллект - это тоже инструмент. Он также очень полезен и потенциально может использоваться не так, как предполагалось. Наше будущее в наших руках.

«Высшая сила - это любовь, а не искусственный интеллект». - Фей-Фей Ли

ИСТОЧНИКИ

Дружественное введение в машинное обучение Луис Серрано

История машинного обучения Google Cloud

Но что такое нейронная сеть? | Глава 1, глубокое обучение . 3Синий1Коричневый

Разница между распознаванием лиц, распознаванием лиц и анализом лиц Mantra.Ai

Руководство по машинному обучению Ocdevel

В чем разница между искусственным интеллектом, машинным обучением и глубоким обучением? Nvidia

Изначально опубликовано в The New Stack