Все чаще в новостях появляются сообщения про службы и гаджеты с искусственным интеллектом (AI) на борту. Ему еще далеко до человеческого, но с ним машины могут самостоятельно обучаться новому. Для этого они используют технологию глубокого обучения. Попробуем разобраться, что она собой представляет и как работает.
Глубокое обучение также называют иерархическим обучением или глубоким структурированным обучением. Свое название технология получила из-за того, что данные проходят через несколько слоев нейросети. Результаты работы одного слоя являются входными данными для другого. Это позволяет машинам самостоятельно учиться и создавать иерархическое отображение данных.
Концепция глубокого обучения AI
Главная идея использования глубокого обучения – имитировать принципы работы человеческого мозга. Последний также использует слои нейронов во время мышления.
Идея таких нейросетей не нова – она появилась еще в 50-х годах. Но только в последние годы она получила существенного распространения. Это объясняется прогрессом вычислительной техники, ведь для работы нейросети нужна большая вычислительная мощность. Нехватка процессорных ресурсов также приводило к тому, что ранние нейросети могли распознавать только простые шаблоны. Сегодня же они способны распознавать на изображениях сложные образы – лица, предметы, животных и тому подобное.
Как это работает
Глубокое обучение использует принцип работы человеческого мозга – слои нейронов. Каждый из них учится выделять из исходного набора данных некий небольшой отдельный элемент. Например, это может быть форма, отрывок звука и тому подобное.
Информация затем передается на следующий уровень, который ищет точки соприкосновения объектов найденной формы или группы одинаковых звуков по найденным отрывкам. Каждый следующий слой ищет немного более сложные особенности исходного набора данных, и это происходит до тех пор, пока система не найдет искомый объект.
Принцип работы нейросети позволяет ей искать любые шаблоны в исходном наборе данных. При этом главная особенность – программисту не нужно собственноручно задавать характеристики искомых элементов. Ему необходимо указать лишь общий алгоритм поиска и предоставить большой объем данных для тренировки.
Чем больший объем тренировочной информации, тем более точные результаты будет выдавать нейросеть после глубокого обучения. Например, для распознавания лица необходимо предоставить большой массив фотографий с разными выражениями лиц, цвета кожи, условиями освещения. Но даже при наличии таких гигантских массивов обучающих данных уровень ошибок в нейросетях составляет около 10%.
Практические использование глубокого обучения
Глубокое обучение может быть способом справиться с гигантскими объемами информации, которую будут производить объекты интернета вещей. Эта технология также поможет в тех отраслях, где необходимо обрабатывать большие массивы данных: медицина, научные исследования и прочее. Например, компьютер может за несколько минут проанализировать тысячи рентгеновских снимков и найти на них аномалии. Человеку-врачу понадобилось бы на такое очень много времени.
Глубокое обучение нейронных сетей также является незаменимым при разработке автомобилей с автопилотов. Эта технология позволяет бортовому компьютеру машины распознавать пешеходов, дорожные знаки, другие машины и прочее. Подобный способ работы позволяет создать хорошие инструменты по распознаванию речи и автоматизированные переводчики.
С глубоким обучением сегодня экспериментируют как обычные программисты, так и корпорации. Например, Google в 2012 году создал систему, которая находит котиков на видео с YouTube с точностью 75%. А в 2016 году другая нейросеть на основе глубокого обучения AlphaGo обыграла профессионала из игры «Го».
Будущее
Машины вряд ли в ближайшие годы начнут думать как люди. Но благодаря росту вычислительной мощности процессоров мы будем видеть новые способы применения нейросетей на основе глубокого обучения. Это разнообразные помощники, интеллектуальные устройства, с которыми можно общаться, экспертные системы и тому подобное.