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

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

Глубокое обучение состоит из моделей нейронных сетей, которые в общих чертах основаны на том, как, по нашему мнению, работает мозг; это абстрактная версия поведения мозга. Искусственная нейронная сеть может иметь один или несколько входов и выходов. Входные данные подаются в нейронную сеть, состоящую из множества слоев с несколькими нейронами, и выдается выходной сигнал. На основе вывода сеть пытается обучаться сама по себе, здесь обучение осуществляется с помощью весов, присутствующих в нейронах. Таким образом, эти веса корректируются после каждой итерации, чтобы удовлетворить результат. Это называется обучением; нейроны укрепляются каждый раз, когда предсказанное отличается от фактического. В нашем мозгу настоящие нейроны принимают некоторую комбинацию своих входных данных и решают, срабатывать или не срабатывать, и мы называем это спайками. Здесь, в искусственных нейронных сетях, нейроны испускают всплеск, но вместо этого выдают реальное числовое значение. Функция этих нейронов представляет собой взвешенную сумму входных данных вместе со смещением. Смещение — это функция, которая добавляется для улучшения производительности нейронной сети.

Нейронные сети существуют с 70-х годов. Они были изобретены в начале 70-х, но стали популярными в конце 80-х, но они стали абсолютными в 90-х, когда доктор Марвин Мински из Массачусетского технологического института показал, что нейронные сети не могут изучить выходной вентиль XOR. Другими серьезными проблемами были нехватка вычислительной мощности, необходимой для обучения больших моделей, что означало, что нейронные сети нельзя было применить к более крупным задачам на больших интересных наборах данных, и не хватало больших интересных наборов данных. Пионеры нейронных сетей, такие как д-р Розенблатт, д-р Джеффри Хинтон, д-р Янн Ле Канн, д-р Йошуа Бенинго, д-р Дэвид Рулехемарт, д-р Эндрю Н.Г., продолжали работать и добились прорыва в этой области. Доктор Хинтон известен как отец искусственных нейронных сетей, чей вклад сыграл важную роль в разработке алгоритмов, таких как обратное распространение, отсев, сети глубокого убеждения и т. д., о которых мы расскажем вам в наших будущих постах.

Причина, по которой глубокое обучение может применяться в таком разнообразном наборе областей, заключается в том, что они имеют одни и те же концепции или строительные блоки, которые могут быть применены к различным областям, таким как аудио, видео, робототехника, веб-поиск и т. д. Самая удивительная часть глубокого Идея обучения заключается в том, что нам не нужно говорить, какую функцию изучать, нейронные сети сами изучают их. Как и все алгоритмы машинного обучения, существует три подхода к обучению: 1) обучение с учителем, 2) обучение без учителя, 3) обучение с подкреплением.

Например, мы обучаем модель нейронной сети изучать изображение Ганди, что называется обучением сети, затем мы показываем модели нейронной сети новый набор изображений, известный как тестовые данные, и сообщаем сети, чтобы она распознала Ганди, сеть идентифицирует Образы Гандиджи. Мы называем это Обучение с учителем.

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

Другой вид обучения – обучение с подкреплением, основанное на вознаграждении. Результат уточняется в зависимости от вознаграждения. Например, когда робот пытается переместить руку в целевое положение (x, y), он может оказаться в какой-то точке поблизости (x1, y1), теперь за эту позицию будет даваться вознаграждение в зависимости от его производительности, и если он не достижения цели награда будет меньше в зависимости от расстояния между целью и положением руки. Это как баллы на экзамене. Если вы решите уравнение полностью, вы получите максимальные баллы, а если вы решите половину уравнения, вы получите половину баллов. Здесь наградой являются оценки. Таким образом, в зависимости от вознаграждения рука постоянно меняет свое положение, чтобы достичь целевого положения. Обучение с подкреплением требует много данных и времени, но в настоящее время они являются наиболее продвинутыми методами обучения. Обучение с подкреплением используется в самоуправляемых автомобилях, роботах, играющих в шахматы.

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

Tensor Flow Playground от Google дает вам интерактивную визуализацию нейронных сетей и глубокого обучения. Это дает представление о том, как работают нейронные сети. Ниже приведен URL-адрес для понимания возможностей нейронных сетей. Игровая площадка Tensorflow.