Openbravo-rus.ru

Образование по русски
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Хинтон глубокое обучение нейронных сетей

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

Глубокое обучение (англ. deep learning) — совокупность широкого семейства методов машинного обучения, основанных на имитации работы человеческого мозга в процессе обработки данных и создания паттернов, используемых для принятия решений [1] . Как правило, глубокое обучение предназначено для работы с большими объемами данных и использует сложные алгоритмы для обучения модели [2] . На больших датасетах глубокое обучение показывает более высокую точность результатов в сравнении с традиционным машинным обучением. Зависимость производительности (качества результатов) от объема данных представлена на рисунке ниже.

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

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

  • 1943 — Искусственный нейрон Маккаллока — Питтса [3] — узел искусственной нейронной сети, являющийся упрощённой моделью естественного нейрона;
  • 1949 — Принцип обучения нейронов Хебба [4] — изначально наблюдаемая причинно-следственная связь между активациями пре- и постсинаптического нейрона имеет тенденцию к усилению;
  • 1957 — Модель перцептрона предложена Фрэнком Розенблаттом [5] — математическая или компьютерная модель восприятия информации мозгом;
  • 1960 — Дельта-правило обучения перцептрона [6] — метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки;
  • 1969 — Выход книги Марвина Минска и Сеймура Паперта «Перцептроны» [7] . В данной книге математически показаны ограничения перцептронов;
  • 1974 — Метод обратного распространения ошибки впервые предложен А. И. Галушкиным и Дж. Вербосом [8] — метод вычисления градиента, который используется при обновлении весов многослойного перцептрона;
  • 1980 — Первая свёрточная нейронная сеть предложена Кунихико Фукусимой [9] — специальная архитектура искусственных нейронных сетей использующая некоторые особенности зрительной коры;
  • 1982 — Рекуррентные нейронные сети предложены Д. Хопфилдом — вид нейронных сетей, где связи между элементами образуют направленную последовательность;
  • 1991 — Проблема «исчезающего» градиента была сформулирована С. Хочрейтом. Проблема «исчезающего» градиента заключается в быстрой потере информации с течением времени;
  • 1997 — Долгая краткосрочная память предложена С. Хочрейтом и Ю. Шмидхубером [10] . В отличие от традиционных рекуррентных нейронных сетей, LSTM-сеть хорошо приспособлена к обучению на задачах классификации, обработки и прогнозирования временных рядов в случаях, когда важные события разделены временными промежутками с неопределённой продолжительностью и границами;
  • 1998 — Градиентный спуск для сверточных нейронных сетей предложен Я. Лекуном;
  • 2006 — Публикации Г. Хинтона, С. Осиндера и Я. Теха об обучении сетей глубокого доверия. Данные публикации, а также их активное освещение в средствах массовой информации смогли привлечь внимание ученых и разработчиков со всего мира к глубоким сетям;
  • 2012 — Предложение дропаута Г. Хинтоном, А. Крижевски и И. Шутковичем [11] . Дропаут (от англ. dropout) — метод регуляризации искусственных нейронных сетей, предназначен для предотвращения переобучения сети;
  • 2012 — Нейронные сети побеждают в ImageNet Challenge [12] . Данное событие ознаменовало начало эры нейронных сетей и глубокого обучения;
  • 2014 — Группа исследователей под руководством Зеппа Хохрейтера использовала глубокое обучение для определения токсичного воздействия лекарств и бытовых средств на окружающую среду. Данна работа была отмечена первым местом на соревновании «Tox21 Data Challenge» [13] ;
  • 2016 — Программа для игры в го Google AlphaGo выиграла со счётом 4:1 у Ли Седоля, лучшего международного игрока в эту игру. AlphaGo, разработанная DeepMind, использует глубокое обучение с помощью многоуровневых нейронных сетей;
  • 2018 — Глубокое обучение впервые используется для планирования лучевой терапии [14] .

В настоящее время глубокое обучение используется во многих сферах.

Глубокое обучение — это класс алгоритмов машинного обучения, который:

  • Использует многослойную систему нелинейных фильтров для извлечения признаков с преобразованиями. Каждый последующий слой получает на входе выходные данные предыдущего слоя;
  • Может сочетать алгоритмы обучения с учителем [на 28.01.19 не создан] (пример — классификация) и без учителя [на 28.01.19 не создан] (пример — анализ образца);
  • Формирует в процессе обучения слои выявления признаков на нескольких уровнях представлений, которые соответствуют различным уровням абстракции; при этом признаки организованы иерархически — признаки более высокого уровня являются производными от признаков более низкого уровня;

  • Распознавание речи [15] . Все основные коммерческие системы распознавания речи (например, Microsoft Cortana, Xbox, Skype Translator, Amazon Alexa, Google Now, Apple Siri, Baidu и iFlyTek) основаны на глубоком обучении;
  • Компьютерное зрение [на 28.01.19 не создан] . На сегодняшний день системы распознавания образов основанные на глубоком обучении уже умеют давать более точные результаты, чем человеческий глаз [16] ;
  • Обработка естественного языка [17] . Нейронные сети использовались для реализации языковых моделей еще с начала 2000-х годов. Изобретение LSTM помогло улучшить машинный перевод и языковое моделирование [18] ;
  • Обнаружение новых лекарственных препаратов. К примеру, нейронная сеть AtomNet использовалась для прогнозирования новых биомолекул — кандидатов для лечения таких заболевания, как вирус Эбола и рассеянный склероз;
  • Рекомендательные системы [19] . На сегодняшний день глубокое обучение применяется для изучения пользовательских предпочтений во многих доменах;
  • Предсказание генномных онтологий в биоинформатике [20] .

Полный список возможных применений глубокого обучения [21] .

Transfer learning — это применение к решению задачи знаний, извлеченных нейронной сетью при решении другой задачи.

Глубокие нейронные сети требуют больших объемов данных для сходимости обучения. Поэтому часто встречается ситуация, когда для решаемой задачи недостаточно данных для того, чтобы хорошо натренировать все слои нейросети. Для решения этой проблемы и используется transfer learning [22] .

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

  • TensorFlow [23] ;
  • Microsoft Cognitive Toolkit [24] ;
  • Wolfram Mathematica [25] ;
  • Keras [26] ;
  • Deeplearning4j [27] ;
  • Caffe [28] ;
  • Torch/PyTorch [29] ;
  • MXNet [30] ;
  • Chainer [31] .

Сопоставление фреймворков, библиотек и отдельных программ для глубокого обучения [32] .

Глубокое обучение (Deep Learning): краткий туториал

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

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

Искусственный интеллект — способность машины или программы находить решения при помощи вычислений.

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

Читать еще:  Продвижение сайтов обучение в москве

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

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

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

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

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

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

Неконтролируемое обучение (обучение без учителя, unsupervised learning) — это машинное обучение с использованием наборов данных без определенной структуры.

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

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

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

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

Разница между машинным и глубоким обучением

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

Мы хотим, чтобы наш сервис предсказывал цену на авиабилет по следующим входным данным:

  • аэропорт вылета;
  • аэропорт назначения;
  • дата отбытия;
  • авиакомпания.

Нейронные сети глубокого обучения

Давайте заглянем внутрь нашей модели. Как и у животных, искусственная нейронная сеть содержит взаимосвязанные нейроны. На диаграмме они представлены кругами:

Глубокая нейронная сеть (с двумя скрытыми слоями)

Нейроны сгруппированы в три различных типа слоев:

  • входной слой;
  • скрытый слой (слои);
  • выходной слой.

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

Скрытые слои выполняют математические вычисления со входными данными. Одна из задач при создании нейронных сетей — определение количества скрытых слоев и нейронов на каждом слое.

Слово «глубина» в термине «глубокое обучение» означает наличие более чем одного скрытого слоя.

Выходной слой выдает результат. В нашем случае это прогноз цены на билет.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое глубокое обучение, и почему это должно вас интересовать?

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

Чтобы получить больше информации, я обратился к одному из участников, Даниэлю Нури (Daniel Nouri), продемонстрировавшему мне использование проекта с открытым исходным кодом Decaf. Он показал, как ему удалось быстро применить данное решение к целому ряду других проблем распознавания образов и получить значительно лучшие результаты, чем те, которые могли обеспечить мои традиционные методы.

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

Читать еще:  Таблицы эксель обучение

Так что же такое глубокое обучение?

Этот термин описывает специфический подход к построению и обучению нейронных сетей.

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

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

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

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

Обучение

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

Настоящий прорыв, обусловивший текущее возрождение интереса к нейронным сетям, произошел в 2012 году после публикации в журнале Imagenet. Алекс Крижевский (Alex Krizhevsky), Илья Сатскевер (Ilya Sutskever) и Джефф Хинтон (Geoff Hinton) собрали вместе целый ряд различных методик ускорения процесса обучения, включая сверточные нейронные сети, интеллектуальное использование графических процессоров и некоторые новаторские математические трюки: оптимизированные линейные нейроны (ReLU – rectified linear unit) и отсев (dropout), показав, что за несколько недель они смогли бы обучить сложную нейронную сеть до такого уровня, который превзошел бы результат традиционных подходов к компьютерному зрению.

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

В чем заключается отличие от других подходов?

В отношении большинства задач машинного обучения, наиболее сложной проблемой является распознавание характерных признаков в «сырых» входных данных, например, алгоритмы SIFT ( s cale-invariant feature transform – масштабно-инвариантное преобразование признаков) или SURF ( s peeded u p r obust f eature s – ускоренный устойчивый [алгоритм поиска] признаков) для изображений. Глубокое обучение исключает необходимость подобных операций, выполняемых вручную, заменяя их процессом обучения, в результате которого выявляются наиболее полезные структуры.

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

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

Зачем вам углубляться в изучение данного вопроса?

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

Deep learning на пальцах: может ли обычный человек изучить нейронные сети и хорошо на этом заработать

Машинное обучение и искусственный интеллект в последнее время попали в центр внимания исследовательского сообщества. В течение десятилетий для обработки этих данных использовались только классические алгоритмы. Концепция глубокого обучения позволяет оптимизировать время обработки в нескольких вычислительных процессах. Это сложная область исследований, но объяснить основы Deep learning на пальцах новичку могут на многочисленных курсах.

Deep learning – что это такое

Deep learning (с англ. «глубокое обучение») — это направление, связанное с искусственным интеллектом (ИИ) и машинным обучением, в котором используются принципы устройства человеческого мозга.

Термин появился около 40 лет назад, но до конца 2012 г. для реализации передовой технологии не хватало технических мощностей. Первым из мировых СМИ о Deep learning опубликовал материал The New York Times. Поводом стало исследование Алекса Крижевского, Джеффа Хинтона и Ильи Сатскевера из университета Торонто. Они провели анализ результатов распознавания картинок, где с большим отрывом нейросеть, написанная при помощи глубокого обучения, опередила другие способы.

Эндрю Янг, один из главных специалистов по глубокому обучению, называет технологию «новым электричеством». Он считает, что стартапы, которые пропустят развитие прогресса, скоро обнаружат себя проигравшими в гонке конкурентов.

Первым шагом к пониманию того, как работает Deep learning, является осознание отличий между связанными с ним терминами

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

Задачи глубокого обучения

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

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

Где используется Deep learning

Технология используется в случае работы с искусственными нейросетями, имеющими несколько слоев. Большинство проектов с Deep learning реализованы в виде распознавания фото или аудио, диагностики заболеваний. Глубокое обучение уже применяется в «Гугл» для перевода текста с изображения.

Еще один проект — система DeepFace, которая умеет распознавать лица с точностью до 97% — примерно такой же результат показывает человек.

В 2016 г. появилась WaveNet от Google. Эта система может имитировать человеческую речь. Для того чтобы реализовать программу, компания загрузила в систему записанные голосовые запросы пользователей из проекта ОК Google. После освоения этих данных нейросеть смогла самостоятельно составить предложение с правильными акцентами, ударениями и без нелогичных остановок.

Читать еще:  Работа в excel обучение видео

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

Технология используется в беспилотниках, которые считывают информацию с дорожных знаков, разметку и определяют наличие помех на дороге. Также Deep learning используют для определения диабетической ретинопатии у пациентов по фотографиям глаз, а Минздрав США позволило применять технологию в государственных учреждениях.

Что нужно специалисту для работы с нейронными сетями

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

Для начала изучения нейросетей желательно высшее математическое, IT или инженерное образование.

Рекомендуемые книги

Освоить технологию глубокого обучения поможет одноименная книга Я. Гудфеллоу, И. Бенджио, А. Курвилль. Это одна из лучших книг по Deep learning. Руководство написано техническим языком, но освоить его может и новичок. Еще один полезный учебник по Deep learning с использованием Python написал исследователь Google Франсуа Шолле. “Глубокое обучение на Python” укрепит знания через теоретические объяснения и примеры.

Еще несколько стоящих книг:

  • “Обучение с подкреплением”, Р. Саттон, Э. Барто;
  • “Deep Learning for Computer Vision with Python”, А. Роузброк;
  • “The Hundred-Page Machine Learning Book”, А. Бурков.

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

Обучение Deep learning на пальцах

Дмитрий Сошников, руководитель AI School и евангелист Microsoft, выделяет на российском образовательном рынке такие типы курсов:

  • узкоспециализированные тренинги для тех, кто хочет отработать конкретные навыки;
  • длительные специализированные курсы для Data Science и специалистов ИИ;
  • классические университетские программы для тех, кто хочет получить понимание алгоритмов;
  • короткие курсы про технологии в бизнесе — это для менеджеров, которым нужно получить только общее понимание.

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

Можно ли изучить нейронные сети самостоятельно

Иван Иваничев, редактор блога интернет-агентства Texterra, считает, что заниматься самообразованием нужно даже тем, кто оплатил обучение. Но оно дается легче, когда знания упорядочены, есть геймифицированные тесты и качественные лекции, а студенты могут общаться с преподавателями.

Автор Texterra — Виктория Кучинова — полностью за самообучение. По ее мнению курсы лишают самостоятельности, а самообразование, наоборот, прокачивает профессиональные навыки. Главное — знать, где брать качественные материалы.

Где можно потренироваться и набраться опыта

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

Вакансии Deep learning

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

Рост есть, но он уже не такой быстрый, как, например, с мая 2016 г. по май 2017 г., когда количество предложений выросло на 136,2%.

Сейчас требуются инженеры по машинному зрению и глубокому обучению, разработчики алгоритмов, консультанты по разработке, аналитики. Наиболее релевантной должностью, согласно Indeed, является инженер по машинному обучению. На НН.ru открыта 191 вакансия на эту должность в Москве.

Большинству работодателей (84 предложения) нужны специалисты с опытом работы от 1 до 3 лет, часто (71 вакансия) требуются инженеры с опытом 3-6 лет. Шестая часть компаний готовы взять на работу новичка без опыта.

Зарплата специалиста со знанием нейронных сетей

Сообщество Binary District опубликовало в своем блоге исследование о зарплатах в ИИ. Выяснилось, что таким работникам платят почти в 2 раза больше, чем другим IT-специалистам. По данным HeadHunter, средняя зарплата программиста со знанием нейронных сетей составляет 190 тыс. руб. Выяснилось, что в России такие специалисты требуются и в «Сбербанке», и в «Яндексе», и в ABBYY.

Про Deep learning рассказывают в этом видео:

Машинное обучение, Deep learning и Data Science популярны и востребованы, но в этих отраслях высокая конкуренция. Рынок не переполнен грамотными специалистами, однако устроиться на работу может быть сложно. Поэтому тем, кто не связан с IT, лучше сразу искать обучение с трудоустройством.

Российские ученые улучшили метод глубокого обучения нейросетей

МОСКВА, 21 июн – РИА Новости. В Институте интеллектуальных кибернетических систем Национального исследовательского ядерного университета «МИФИ» предложили новый метод для обучения ограниченной машины Больцмана (вид нейросети), позволяющий оптимизировать процессы семантического кодирования, визуализации и распознавания данных. Результаты исследования опубликованы в журнале «Optical Memoryand Neural Networks».

В настоящее время большую популярность приобретает изучение глубоких нейронных сетей различной архитектуры: сверточных, рекуррентных, автоэнкодерных. Ряд высокотехнологичных компаний, среди которых – Microsoft и Google, используют глубокие нейронные сети для проектирования различных интеллектуальных систем. Вместе с глубокими нейронными сетями приобрел популярность термин «глубокое» обучение.

«Способность искусственных нейронных сетей обучаться является наиболее интригующим их свойством. Подобно биологическим системам, нейронные сети сами моделируют себя, стремясь достичь лучшей модели поведения», — отметил профессор Института кибернетических систем НИЯУ МИФИ Владимир Головко.

Профессор Института кибернетических систем НИЯУ МИФИ Владимир Головко проанализировал проблематику и основные парадигмы глубокого машинного обучения, предложив новый метод для обучения ограниченной машины Больцмана. Ученый показал, что классическое правило обучения этой нейросети является частным случаем предложенного им метода.

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

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

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