Что такое глубокое обучение и как оно работает

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

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

Итак, давайте разберем, что такое глубокое обучение и какие у него есть аспекты. В данной статье мы изучим:

Что такое глубокое обучение

Глубокое обучение можно рассматривать как разновидность машинного обучения. Самостоятельное обучение и совершенствование поведения программы происходит в результате выполнения компьютерных алгоритмов.

Но алгоритмы классического машинного обучения используют довольно простые концепции, а вот глубокое обучение работает с искусственными нейронными сетями. Эти сети созданы для имитации того, как думают и учатся люди.

До недавнего времени нейронные сети были ограничены вычислительной мощностью и, следовательно, их сложность тоже была ограничена. Но достижения в области аналитики больших данных позволили создавать большие и сложные нейронные сети. Благодаря им компьютеры могут наблюдать, учиться и реагировать на сложные ситуации быстрее, чем люди.

Глубокое обучение помогает классифицировать изображения, переводить тексты с одного языка на другой и распознавать речь. Его можно использовать для решения любой задачи распознавания образов без вмешательства человека.

В основе глубокого обучения лежат искусственные нейронные сети, состоящие из множества слоев. В глубокой нейронной сети (DNN, Deep Neural Network) каждый слой может выполнять сложные операции представления и абстракции изображений, звука или текста.

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

Теперь, когда вы поняли, что такое глубокое обучение, давайте начнем изучать, как это все работает.

нейроны

Как работает глубокое обучение

Нейронные сети состоят из своего рода узлов, которые объединены в слои. Эти узлы несколько похожи на нейроны головного мозга человека.

Узлы в отдельных слоях связаны со смежными слоями. Чем больше слоев, тем глубже нейронная сеть.

Один нейрон в человеческом мозге получает тысячи сигналов от других нейронов. В искусственной нейронной сети сигналы передаются между узлами и им присваиваются соответствующие веса. Чем больше вес сигнала в узле, тем большее влияние он будет оказывать на узлы в последующих слоях. Последний слой объединяет все взвешенные входные данные для получения выходных данных.

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

Системы глубокого обучения требуют больших объемов данных для получения точных результатов. Соответственно, информация подается в виде огромных массивов.

При обработке данных искусственные нейронные сети могут производить классификацию по серии ответов «истина или ложь». Это может требовать очень сложных математических вычислений.

Например, программа распознавания лиц работает, обучаясь обнаруживать и распознавать края и линии лиц, затем более значимые части лиц и, наконец, общее представление лиц. Со временем программа обучается, и вероятность правильных ответов возрастает. Таким образом, спустя некоторое время программа начнет довольно точно определять лица людей.

[machinelearning_ad_block]

Пример работы сети глубокого обучения

Предположим, нам нужно, чтобы нейронная сеть распознавала фотографии, на которых изображена собака. Не все собаки абсолютно одинаковы — взять хотя бы ротвейлера и пуделя. Кроме того, на фотографиях собаки показаны под разными углами и с разным освещением.

Обучающий набор изображений должен включать:

  • множество примеров морд собак, к которым какой-нибудь человек добавит метки «собака»,
  • изображения объектов, которые не являются собаками, с пометкой (как и следовало ожидать) «не собака». (Это называется размеченный набор данных — прим. переводчика).

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

Теперь этот ответ, полученный от нейронной сети, будет сравниваться с меткой, поставленной человеком. Если есть совпадение, то вывод подтверждается. Если нет, нейронная сеть отмечает ошибку и корректирует веса.

Постоянно меняя веса, нейронная сеть пытается улучшить свои навыки распознавания собак. Этот метод обучения называется обучением с учителем. Он работает даже тогда, когда нейронным сетям явно не сообщается, что «делает» собаку собакой. Нейронные сети должны распознавать закономерности в данных и с течением времени учиться самостоятельно, на примерах.

Итак, мы разобрали, что такое глубокое обучение и каковы принципы его работы. Теперь давайте вернемся немного назад и посмотрим на динамику его развития.

Расцвет глубокого обучения

Считается, что машинное обучение зародилось в 1950-х годах, когда британский математик Алан Тьюринг предложил свою «обучающую машину» с искусственным интеллектом.

Первую программу компьютерного обучения написал Артур Сэмюэл. Его программа позволила компьютеру IBM усиливать со временем свою игру в шашки. В последующие десятилетия различные методы машинного обучения входили и выходили из моды.

Исследователи машинного обучения по большей части игнорировали нейронные сети. Дело в том, что те страдали от проблемы «локальных минимумов»: неверные, казалось бы, веса давали наименьшее количество ошибок. Однако некоторые методы машинного обучения, такие как компьютерное зрение и распознавание лиц, продвигались вперед.

В 2001 году был разработан алгоритм машинного обучения Adaboost для нахождения лиц на изображении в режиме реального времени. Он фильтровал изображения при помощи решения задач с бинарным выбором. Это были задачи типа: «Есть ли на изображении яркое пятно между темными пятнами, возможно, обозначающее переносицу?» Когда данные перемещались дальше вниз по дереву решений, вероятность выбора правильного лица на изображении возрастала.

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

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

За прошедшие с тех пор годы технологические компании сделали свои библиотеки глубокого обучения открытыми. Это прежде всего Tensorflow от Google, Pytorch от Facebook, DSSTNE от Amazon и CNTK от Microsoft.

Карта мира, окутанная паутиной сетей с узлами

Глубокое обучение в действии

Но как глубокое обучение влияет на жизнь людей? (Конечно, помимо вашего любимого сервиса потоковой передачи музыки, предлагающего мелодии, которые могут вам понравиться).

Как оказалось, глубокое обучение находит применение в приложениях любого масштаба.

  • Пользователи Facebook не могут не заметить, что соцсеть обычно распознает и помечает их друзей при загрузке новых фотографий.
  • Цифровые помощники, такие как Siri, Cortana, Alexa и Google Now, используют глубокое обучение для обработки естественного языка и распознавания речи.
  • Skype переводит разговоры в реальном времени.
  • Многие почтовые платформы научились определять спам-сообщения еще до того, как они попадут в почтовый ящик.
  • PayPal внедрил глубокое обучение для предотвращения мошеннических платежей.
  • Такие приложения, как CamFind, позволяют пользователям сфотографировать любой объект и, используя технологию мобильного визуального поиска, найти информацию о нем.

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

Если говорить о Google, то эта компания использует глубокое обучение для разработки самых разных решений.

  • Компьютерная программа AlphaGo от Google Deepmind недавно победила действующих чемпионов мира в игре Го.
  • DeepMind WaveNet может генерировать речь, имитирующую человеческий голос, которая звучит более естественно, чем любые другие речевые системы, представленные в настоящее время на рынке.
  • Сервис Google Translate использует глубокое обучение и распознавание изображений для перевода голоса и текстов.
  • Google Earth может определить, где была сделана та или иная фотография.

Чтобы помочь в разработке приложений искусственного интеллекта, компания Google также разработала фреймворк глубокого обучения Tensorflow.

Прогнозы на будущее

Глубокое обучение находится еще в зачаточном состоянии и в ближайшие десятилетия изменит все наше общество.

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

Нейронные сети становятся экспертами в прогнозировании всего, от цен на акции до погоды.

Подумайте о ценности цифровых помощников, которые могут порекомендовать, когда продавать акции или когда эвакуироваться перед ураганом.

Приложения глубокого обучения даже могут спасать жизни! Они учатся разрабатывать основанные на фактических данных планы лечения для пациентов медицинских учреждений. В частности — помогают обнаруживать рак на ранних стадиях.

Теперь, когда вы четко поняли, что такое глубокое обучение, и хотите углубиться в эту передовую технологию, вам наверняка будет интересно узнать о карьерных перспективах.

Перспективы карьеры в области глубокого обучения

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

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

Что обещает область глубокого обучения с точки зрения возможностей карьерного роста и оплаты труда? Довольно много.

Glassdoor сообщает, что средняя зарплата инженера по машинному обучению составляет почти $115000 в год (на момент перевода статьи — уже 128 000, — прим. переводчика). А согласно PayScale, диапазон заработной платы составляет от $100000 до $166000.

А по мере совершенствования систем и инструментов глубокого обучения и их распространения во всех отраслях рост заработных плат только ускорится.