Работа deep learning engineer

Что такое язык программирования Паскаль

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

Языку Паскаль более 40 лет

Существует ряд диалектов и сред, которые применяются студиями и IT-компаниями. Так, есть вакансии для программистов Delphi. Практическое значение имеет диалект Object Pascal и основанная на нем среда разработки Lazarus. С помощью этого инструмента можно создавать объектно-ориентированное ПО с графическим пользовательским интерфейсом.

Так выглядит язык программирования Паскаль

Какие функции языка существуют

Часто встречающиеся операции реализованы в Паскале с помощью функций. Стандартные включают арифметические (abc, sin, int и др.), функции преобразования (round, trunc и ord), процедуры для порядковых величин (succ, pred, ord и odd). Есть возможность добавить пользовательские функции.

5 впечатляющих вариантов применения Deep Learning

1. Стираем языковой барьер

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

Пример поиска сюжета по слову «Hollywood»

3. Неограниченные возможности для работы с изображениями

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

Система на основе Deep Learning под названием Let there be color!, например помогает придать цвет черно-белым фото и даже видео. Сверхточные нейронные сети вычисляют все нюансы изображения и разделяют его на слои, чтобы определить глубину цвета и переходы. По мере обработки фотографий система обучается и сейчас уже может обрабатывать старинные фото и даже видео-материалы:

4. На шаг ближе к общению с машинами

В 2016 году Гугл выпустил WaveNet — систему, основанную на глубоких нейронных сетях, которая может преобразовать текст в аудио формат. В отличие от голосовых помощников, как например Siri, WaveNet позволяет создать гораздо более реалистичное звучание голоса путем выборки реальной человеческой речи и непосредственно моделированием сигналов.

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

При помощи Deep Learning машины могут не только говорить, но и понимать, что вы говорите. Яркий тому пример система LipNet, разработанная с применением технологии нейронных сетей учеными Оксфордского университета. LipNet стала первой в мире системой, которая может распознать по губам речь, причем не просто отдельные слова, а сразу на целые предложения. Для этого система обрабатывает видеоряд, разделяя его на множество фрагментов и слоев. Результаты впечатляют:

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

Это всего лишь краткий перечень возможностей, которые открывает технология Deep Learning. Эта инновация лежит в основе беспилотных автомобилей, робототехники и систем аналитики.

Хотите создать проект с использованием новейших технологий? У нашей компании более чем 8 лет опыта в разработке проектов для крупного и среднего бизнеса. Напишите нам на info@stfalcon.com, чтобы обсудить детали сотрудничества. Мы с радостью создадим инновационное решение специально для вас!

Зачем обучать машины

Снова разберём на Олегах.

Предположим, Олег хочет купить автомобиль и считает сколько денег ему нужно для этого накопить. Он пересмотрел десяток объявлений в интернете и увидел, что новые автомобили стоят около $20 000, годовалые — примерно $19 000, двухлетние — $18 000 и так далее.

В уме Олег-аналитик выводит формулу: адекватная цена автомобиля начинается от $20 000 и падает на $1000 каждый год, пока не упрётся в $10 000.

Олег сделал то, что в машинном обучении называют регрессией — предсказал цену по известным данным. Люди делают это постоянно, когда считают почём продать старый айфон или сколько шашлыка взять на дачу (моя формула — полкило на человека в сутки).

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

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

Так родилось машинное обучение.

Что нужно знать для работы с искусственным интеллектом

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

  1. Английский язык на уровне чтения и написания простых запросов.
  2. Математика на уровне младших курсов технических вузов. Особенно линейная алгебра, теория вероятностей, построение и интерпретация моделей, алгоритмы, математическая статистика.
  3. Знание баз данных. Нужно иметь представление о разных типах баз или опыт работы с одной из них.
  4. Подготовка в области программирования. Нужно знать основы и хотя бы один язык. Самый востребованный, удобный для специалистов по Deep Learning и простой в освоении — Python. Работать можно на R, С++, Java, JS, подходят SAS, Scala и др. В машинном обучении язык — это не определяющий специализацию фактор, а только инструмент для создания моделей.

Где используется Паскаль

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

Turbo Pascal был популярен для ПК в 80-90-е гг. В продолжение Turbo была выпущена система Delphi. Современная модификация Delphi Object Pascal используется в машинном обучении.

Другая реализация — Free Pascal — имеет открытый исходный код, поддерживает различные диалекты языка и мультиплатформенность. На базе Free Pascal появилась среда Lazarus.

Oxygene, разработанный на основе Pascal, появился в 2013 г. С помощью языка можно реализовывать код под разные платформы, включая Java и .NET.

То, чего не было в примере, но стоит отметить:

  1. Поскольку алгоритмы машинного обучения требуют маркированных данных, они не подходят для решения сложных запросов, которые включают в себя огромное количество данных.
  2. Хоть в данном случае мы увидели применение Deep learning для решения незначительного запроса, — реальное применение нейронных сетей глубокого обучения происходит в гораздо большем масштабе. Фактически, учитывая количество слоев, иерархий и концепций, которые обрабатывают эти сети, Deep learning подходит только для выполнения сложных вычислений, а не простых.
  3. Оба эти подмножества ИИ так или иначе связаны с данными, что позволяет представлять собой определенную форму «интеллекта». Однако следует знать, что глубокое обучение требует гораздо больше данных, чем традиционный алгоритм машинного обучения. Причиной этого является то, что сети Deep learning могут идентифицировать различные элементы в слоях нейронных сетей только при взаимодействии более миллиона точек данных. Алгоритмы машинного обучения, с другой стороны, способны обучаться по заранее запрограммированным заданным критериям.

Надеемся, приведенный пример и его объяснение позволили вам понять различия между Machine learning и Deep learning. Т.к. это объяснение для чайников, то здесь не употреблялись профессиональные термины.

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

Основная логика

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

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

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

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

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

Обучение с подкреплением: две основные цели обучения

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

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

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

Обучение глубокой сети

Обучение нейросети — самая сложная часть глубокого обучения. Почему?

  • Вам нужен большой набор данных.
  • Вам нужно большое количество вычислительной мощности.

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

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

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

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

Как уменьшить значение функции потерь?

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

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

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

Для минимизации функции потерь нужно многократно перебирать данные. Именно поэтому нам требуется большая вычислительная мощность. Уточнение весов с помощью градиентного спуска выполняется автоматически. В этом и состоит магия глубокого обучения!

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

В сухом остатке:

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

Интересные статьи:

  • Интернет вещей ускорил развитие AI в геометрической прогрессии
  • Рекуррентные нейронные сети: типы, обучение, примеры и применение
  • Как создать собственную нейронную сеть с нуля на языке Python

Обучение Deep Learning

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

Об основах нейросетей рассказывают в этом видео:

Курсы онлайн

Коммерческие курсы по Deep Learning длятся  3-8 месяцев. Продолжительность зависит от насыщенности программы. Например, на одних курсах обучение начинается с изучения линейной алгебры, затем студенты переходят к основам программирования и только потом занимаются искусственным интеллектом, машинным обучением и Deep Learning, другие программы предполагают создание полноценной модели, анализ естественного языка и рекомендательных систем, знакомство с основными библиотеками.

В последнем случае студенты должны знать язык Python и иметь базовое понимание машинного обучения. Полный курс стоит 50-80 тыс. руб.

Можно ли пройти обучение бесплатно

Курсы, которые находятся в открытом доступе, разрабатывают крупные университеты и IT-компании (например, Google или NVIDIA Corporation). За академическим обучением нужно идти на платформы МООК или искать информацию непосредственно на сайтах ведущих технических вузов. В России курсы проводят Институт биоинформатики, НИУ ВШЭ, за рубежом — Стэнфорд, Georgia Institute of Technology, Университет Торонто.

Deep learning & Machine learning

Должно быть, вы имеете элементарное представление о Deep learning и Machine learning. Для чайников представляем несложные определения:

Machine learning для чайников: 

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

Deep learning для чайников:

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

Например:

  

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

Сколько можно зарабатывать со знанием языка программирования Паскаль

Международная компания Adzuna, которая специализируется на аналитике, провела исследование языков программирования, востребованных на рынке труда. Самыми высокооплачиваемыми специалистами на российском IT-рынке являются программисты Clojure, Haskell, Rust, которые могут рассчитывать на зарплату 170-177 тыс. руб.

Pascal, Basic, Delphi практикующие IT-специалисты считают устаревшими языками программирования, но все еще изучаемыми в школе или на первых курсах университетов. Эти инструменты мало применимы на практике, но позволяют освоиться с общими концепциями и получить первый опыт в программировании.

Глубокая нейронная сеть

Глубокая сеть — сеть с несколькими скрытыми слоями. Работа сверточных сетей подробно разбирается в руководствах:

  • How Convolutional Neural Networks work, Youtube
  • CS231n Convolutional Neural Networks for Visual Recognition
  • CS231n Winter 2016: Lecture 7: Convolutional Neural Networks, Youtube

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

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

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

Регуляризация — процесс уменьшения переобучения путем забывания определенных сигналов из тренировочных данных. Чтобы лучше понять этот принцип, мы используем датасет CIFAR-10. Это 60 тысяч изображений в десяти категориях, таких как автомобили, грузовики и птицы. Цель — определить категории изображений.

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

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

Зарплаты

Согласно данным Исследовательской службы HeadHunter среди людей, работающих с ИИ, больше всего получают специалисты по машинному обучению — в среднем 145 тыс. руб. Для Data Scientist средний показатель составляет 130 тыс. руб., для аналитиков (Data Analyst) — 100 тыс. руб. Эксперты Банка данных заработных плат HeadHunter сообщают, что на наибольшую зарплату могут претендовать специалисты, которые занимаются научными исследованиями и фармацевтической промышленностью.

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

Обучение языку Паскаль

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

В силу специфики площадок, в программе которых остались курсы по Pascal, обучение преимущественно очное. Средняя  продолжительность — 40 академических часов. Стоимость — 15-30 тыс. руб. По окончании обучения проводится аттестация в виде теста или на основании оценок практических работ, выдается сертификат международного образца.

Основы программирования для начинающих

Pascal — это простая среда разработки с понятным синтаксисом, поэтому научиться программировать можно самостоятельно. Но желательно изучать не чистый Паскаль (для DOS), а инструмент, с помощью которого можно создать приложение для Windows, например, Borland Delphi.

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

“PascalABC.NET: введение в современное программирование”, А. В. Осипов. Рассматриваются особенности использования конструкций, в конце каждого раздела есть практические задания и примеры. “Структуры данных в PascalABC.NET”, М. Э. Абрамян. Первая часть пособия содержит описание возможностей языка, запросов, средств, подпрограмм для генерации. Во второй части автор приводит варианты алгоритмов, рассматривает структуры данных, подробно описывает работу с многомерными структурами. “Основы программирования в среде Lazarus”, К. Т. Мансуров. Изложение ведется применительно к среде Lazarus, которая по своим возможностям практически не уступает Delphi

В учебнике много примеров, особое внимание уделено разработке софта с графическим интерфейсом для ОС Linux и Windows. “Turbo Pascal

Решение сложных задач”, В. В. Потопахин. Книга предназначена для тех, кто уже освоил азы. В учебном пособии приведены 20 практических заданий со сложной логикой с примерами решений. “Паскаль и Дельфи. Самоучитель”, В. Попов. Последовательный курс по изучению языка программирования Pascal. В первой части учебника дается синтаксис Turbo Pascal 7.0, во второй — основы Object Pascal и Delphi 6.

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

Специалисты каких профессий практикуют Deep Learning

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

  • медицинскую и техническую диагностику;
  • определение спама и мошенничества;
  • распознавание речи, жестов, образов, изображений;
  • прогнозирование отказа клиентов.

Больше всего проектов с использованием Deep Learning создается в диагностике болезней, распознавании изображений и аудио. Например, при переводах с картинки технология помогает определить сервису Google Translate наличие букв. Еще один проект — система распознавания лиц DeepFace, которая работает приблизительно с такой же точностью, что и человеческий мозг — 97,25%.

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

О значимости глубокого обучения рассказывают здесь:

Выбор количества слоев

Давайте посмотрим, как отличается сеть с одним и тремя наборами слоев. Каждый набор состоит из слоев свертки, подвыборки и соединительного слоя. Первые два эксперимента — experiment-0-few-layers.ipynb и experiment-0-three-layer-sets.ipynb.

# Convolutional network building
network = input_data(shape=,
                     data_preprocessing=img_prep,
                     data_augmentation=img_aug)
# One set of layers
network = conv_2d(network, 32, 3, activation='relu')
network = max_pool_2d(network, 2)
network = fully_connected(network, 512, activation='relu')
network = fully_connected(network, 10, activation='softmax')
network = regression(network, optimizer='adam',
                     loss='categorical_crossentropy',
                     learning_rate=0.001)

Глядя на графики в Tensorboard, мы заметим, что сеть с одним набором примерно на 15% аккуратнее сети с несколькими наборами. Дело в том, что сеть с несколькими наборами недообучена.

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

Как мы видим, точность тренировочных данных выше точности данных для валидации. Фоновый шум и детали мешают сети хорошо работать на новых данных.

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

Следующие шаги

В официальном репозитории TFlearn вы найдете примеры хороших сверточных сетей. Разберитесь с тем, как они устроены, и попробуйте улучшить свою сеть. Лучший результат на сегодняшний день — 96.43% (Graham, 2015).

Прим. переводчика: в репозитории http://rodrigob.github.io/are_we_there_yet собрана таблица лидеров по разным датасетам, в том числе по .

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

Мои благодарности Ignacio Tonoli de Maussion, Per Harald Borgen, Jean-Luc Wingert, Sai Soundararaj, и Charlie Harrington за вычитку черновиков. И благодарность сообществу TFlearn за документацию и исходники.

Об авторе (Эмиль Воллнер)

Это первая статья из серии статей о глубоком обучении. Я потратил десять лет на изучение человеческого обучения. Работаю в бизнес-школе Оксфорда, инвестировал в образовательные стартапы и построил бизнес в сфере технологического обучения. В прошлом году я поступил в Ecole 42, чтобы найти применение своим знаниям в сфере машинного обучения.

Вы можете следить за моим прогрессом в Твиттере. Если у вас есть вопросы или пожелания, оставьте комментарий в Медиум.

Первоначально публиковалось в блоге FloydHub.

Как изучить Deep Learning самостоятельно

Стоит начать с повторения основ математического анализа, линейной алгебры, статистики и теории вероятностей. В помощь новичкам: книги Гилберта Стрэнга «Введение в линейную алгебру» и Аллена Б. Дауни Think Stats: Exploratory Data Analysis.

После изучения перечисленных разделов математики можно переходить непосредственно к машинному обучению. Логично и понятно, буквально на пальцах теорию излагает Andrew Ng (бесплатный курс Machine learning), но недостаток этой программы в том, что не рассматриваются конкретные инструменты Machine learning, широко используемые на практике.

Нейросеть на Phyton своими руками:

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

  • глубокие нейросети прямого распространения;
  • сверточные;
  • проблема исчезающего градиента;
  • градиентный спуск;
  • рекуррентные нейросети и т.д.

Это теория, а для овладения техническими навыками потребуется изучить Deep Learning фреймворк. Новичкам лучше начинать с фреймворков-конструкторов, потом переходить к низкоуровневым.

Изучить нейронные сети за 30 минут можно с помощью следующего видеоурока:

Ссылка на основную публикацию