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

Глубокое обучение (глубинное обучение; англ. Deep learning) — совокупность методов машинного обучения (с учителем, с частичным привлечением учителя, без учителя, с подкреплением), основанных на обучении представлениям (англ. feature/representation learning), а не специализированным алгоритмам под конкретные задачи. Многие методы глубокого обучения были известны ещё в 1980-е (и даже ранее[1]), но результаты были невпечатляющими[2], пока продвижения в теории искусственных нейронных сетей (предобучение нейросетей с помощью специального случая ненаправленной графической модели, так называемой ограниченной машины Больцмана) и вычислительные мощности середины 2000-х (прежде всего, графических процессоров Nvidia, а в настоящее время и тензорных процессоров Google) не позволили создавать сложные технологические архитектуры нейронных сетей, обладающие достаточной производительностью и позволяющие решать широкий спектр задач, не поддававшихся эффективному решению ранее, например, в компьютерном зрении, машинном переводе, распознавании речи, причём качество решения во многих случаях теперь сопоставимо, а в некоторых случаях превосходит эффективность «белковых» экспертов[3].

История

Несмотря на то что термин «глубокое обучение» появился в научном сообществе машинного обучения только в 1986 году после работы Рины Дехтер[4], первый общий рабочий алгоритм для глубоких многослойных перцептронов прямого распространения был опубликован в книге советских учёных Алексея Григорьевича Ивахненко и Валентина Григорьевича Лапы «Кибернетические предсказывающие устройства»[5].

Другие глубокие архитектуры, в особенности те, которые специализируются на распознавании образов, берут своё начало с неокогнитрона, разработанного Кунихико Фукусимой в 1980 году. В 1989 году Яну Лекуну удалось использовать алгоритм обратного распространения ошибки для обучения глубоких нейросетей для решения задачи распознавания рукописных ZIP-кодов[6]. Несмотря на успешный опыт, для обучения модели потребовалось три дня, что существенно ограничивало применимость этого метода. Низкая скорость обучения связана со многими факторами, включая проблему исчезающих градиентов из-за большого разброса масштабов обучаемых параметров, которую в 1991 году анализировали Йорген Шмидхубер и Сепп Хохрайтер. Из-за этих проблем нейронные сети в 1990-х годах уступили место методу опорных векторов.

К 1991 году такие системы использовались для распознавания изолированных двумерных рукописных цифр, а распознавание трёхмерных объектов осуществлялось путём сопоставления двумерных изображений с трёхмерной объектной моделью, изготовленной вручную. В 1992 году создана модель кресцентрона[7][8][9] для распознавания трёхмерных объектов в загромождённых сценах.

В 1994 году Андре де Карвальо, вместе с Майком Фэйрхерстом и Дэвидом Биссетом, опубликовал экспериментальные результаты многослойной булевой нейронной сети, также известной как невесомая нейронная сеть, состоящая из трехуровневого самоорганизующегося модуля нейронной сети для выделения признаков (SOFT), а затем модуль многоуровневой классификации нейронной сети (GSN). Каждый модуль прошел независимое друг от друга обучение. Каждый слой в модуле извлекал объекты с растущей сложностью относительно предыдущего слоя.[10]

В 1995 году Брендан Фрей продемонстрировал, что можно обучить (в течение двух дней) сеть, содержащую шесть полностью соединенных слоев и несколько сотен скрытых юнитов, используя алгоритм сна-бодрствования, разработанный совместно с Питером Даяном и Хинтоном[11]. Многие факторы способствуют медленной скорости, включая проблему исчезающего градиента, проанализированную в 1991 году Зеппом Хохрайтером[12][13].

Более простые модели, которые используют ручные работы, специфичные для конкретной задачи, такие как фильтры Габора и метод опорных векторов (МОВ), были популярным выбором в 1990-х и 2000-х годах из-за вычислительных затрат искусственной нейронной сети (ИНС, англ. ANN) и отсутствия понимания того, как мозг связывает свои биологические сети.

Как поверхностное, так и глубокое обучение (например, рекуррентные сети) ИНС изучалась в течение многих лет[14][15][16]. Эти методы никогда не превосходили неоднородную смешанную Гауссову модель и скрытую модель Маркова, основанную на генеративных моделях речи, обученных дискриминационно[17]. Были проанализированы ключевые трудности, в том числе уменьшение градиента[12] и слабая временная корреляционная структура в нейронных прогностических моделях[18][19]. Дополнительными трудностями были отсутствие обучающих данных и ограниченная вычислительная мощность.

Глубокое обучение приобрело популярность в середине 2000-х годов, когда всё сошлось воедино: компьютеры стали достаточно мощными, чтобы обучать большие нейронные сети (вычисления научились делегировать графическим процессорам, что ускорило процесс обучения на порядок), наборы данных стали достаточно объёмными, чтобы обучение больших сетей имело смысл, а в теории искусственных нейронных сетей произошло очередное продвижение — статьи Хинтона, Осиндеро и Тэ[20], а также Бенджио[21], в которых авторы показали, что можно эффективно предобучать многослойную нейронную сеть, если обучать каждый слой отдельно при помощи ограниченной машины Больцмана, а затем дообучать при помощи метода обратного распространения ошибки.

Революция в глубоком обучении

В 2012 году команда под руководством Джорджа Э. Даля выиграла Конкурс "Merck Molecular Activity Challenge", используя многозадачные глубокие нейронные сети для прогнозирования биомолекулярной мишени одного препарата.[22] В 2014 году группа Хохрейтера использовала глубокое обучение для выявления нецелевых и токсических эффектов химических веществ, присутствующих в окружающей среде, в питательных веществах, продуктах домашнего обихода и лекарствах, и выиграла «Tox21 Data Challenge» от Национального института здравоохранения США, Управления по санитарному надзору за качеством пищевых продуктов и медикаментов и NCATS.[23]

 
Концептуальное изображение глубокого обучения в виде подмножества машинного обучения, а машинного обучения как подмножество искусственного интеллекта (ИИ)

Значительное развитие в распознавании изображений или объектов ощущалось в период с 2011 по 2012 годы. Хотя сверточные нейронные сети (СНН), обученные обратному распространению, существовали в течение десятилетий, и GPU внедряли нейронные сети в течение многих лет, включая СНН, быстрые реализации СНН на GPU использовали для развития компьютерного зрения. В 2011 году этот подход впервые позволил добиться сверхчеловеческой производительности в конкурсе визуального распознавания образов. Также в 2011 году он выиграл конкурс рукописного ввода ICDAR, а в мае 2012 года - конкурс сегментации изображений ISBI.[24] До 2011 года СНН не играли основной роли на конференциях по компьютерному зрению, но в июне 2012 года доклад Циресана[25] на ведущей конференции CVPR показал, как максимальное объединение СНН на GPU может значительно улучшить многие результаты бенчмарков. В октябре 2012 г. аналогичная система была разработана Крижевским[26], коллектив которого выиграл крупномасштабный конкурс ImageNet со значительным преимуществом по сравнению с методами поверхностного машинного обучения. В ноябре 2012 года команда Циресана также выиграла конкурс ICPR по анализу больших медицинских изображений для выявления рака, а в следующем году MICCAI Grand Challenge по той же теме.[27] В 2013 и 2014 годах частота ошибок в задаче ImageNet с использованием глубокого обучения была еще снижена вследствие аналогичной тенденции в широкомасштабном распознавании речи. Стивен Вольфрам в рамках проекта по идентификации изображений опубликовал эти улучшения.[28]

Классификация изображений была затем расширена до более сложной задачи генерации описаний (подписей) для изображений, часто в виде комбинации СНН и LSTM.[29][30][31][32]

Некоторые исследователи считают, что победа ImageNet в октябре 2012 года положила начало «революции глубокого обучения», которая изменила индустрию искусственного интеллекта.[33]

В марте 2019 года Йошуа Бенжио, Джеффри Хинтон и Янн ЛеКун были награждены премией Тьюринга за концептуальные и инженерные прорывы, которые сделали глубокие нейронные сети критическим компонентом вычислений.

Нейронные сети

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

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

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

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

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

Начиная с 2017 года, нейронные сети обычно имеют от нескольких тысяч до нескольких миллионов единиц и миллионы соединений. Несмотря на то, что это число на несколько порядков меньше, чем число нейронов в человеческом мозге, эти сети могут выполнять множество задач на уровне, превышающем уровень людей (например, распознавание лиц, игра в «Go»)[34].

Определения

Глубокое обучение характеризуется как класс алгоритмов машинного обучения, который[35]:

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

Все определения констатируют

  1. наличие нескольких слоев нелинейной обработки
  2. обучение с учителем или без учителя признаков каждого слоя, формируя иерархию от низкого до высокого уровня[35].

Состав конкретных нелинейных слоёв зависит от решаемой проблемы. Используются как скрытые слои нейронной сети, так и слои сложных логических преобразований[36]. Система может включать скрытые переменные, организованные послойно в глубоких генеративных моделях, таких как узлы в глубокой сети доверия и глубокой ограниченной машине Больцмана.

Алгоритмы глубокого обучения противопоставлены алгоритмам неглубокого обучения по количеству параметризованных преобразований, с которыми сталкивается сигнал, распространяющийся от входного слоя к выходному слою, где параметризованным преобразованием считается такой блок обработки данных, у которого есть обучаемые параметры, такие как веса или пороги[37]. Цепочка преобразований от входа к выходу называется CAP — путём передачи ответственности (англ. credit assignment path, CAP). CAP описывают потенциальные причинные связи вдоль сети от входа к выходу, при этом путь в разных ветвях может иметь разную длину. Для нейронной сети прямого распространения (feedforward) глубина CAP не отличается от глубины сети и равна количеству скрытых слоев плюс один (выходной слой также параметризован). Для рекуррентных нейронных сетей, в которых сигнал может перескакивать через слои минуя промежуточные, CAP из-за обратной связи потенциально неограничен в длине. Не существует универсально согласованного порога глубины деления неглубокого обучения от глубокого обучения, но обычно считается, что глубокое обучение характеризуется несколькими нелинейными слоями (CAP > 2). Йорген Шмидхубер выделяет также «очень глубокое обучение», когда CAP > 10[37].

Содержание

Глубокое обучение — это алгоритмы машинного обучения для моделирования высокоуровневых абстракций с применением многочисленных нелинейных преобразований[35][36][37][38][39].

В первую очередь к глубинному обучению относятся следующие методы и их вариации:

Комбинируя эти методы, создаются сложные системы, соответствующие различным задачам искусственного интеллекта.

Глубокое обучение является апробированной выборкой из широкого семейства методов машинного обучения для представлений данных, наиболее соответствующих характеру задачи. Изображение, например, может быть представлено многими способами, такими как вектор интенсивности значений на пиксель, или (в более абстрактной форме) как множество примитивов, областей определённой формы, и т. д. Удачные представления данных облегчают решение конкретных задач — например, распознавания лиц и выражений лица[40]). В системах глубокого обучения автоматизирует сам процесс выбора и настройки признаков, проводя обучение признаков[en] без учителя или с частичным привлечением учителя, используя для этого эффективные алгоритмы и иерархическое извлечение признаков[en][41].

Исследования в этой области позволили усовершенствовать модели работы с большими объёмами немаркированных данных. Некоторые подходы возникли в результате достижений в области нейронаук, успехов интерпретации обработки информации, построения коммуникационных моделей в нервной системе, таких как нейронное кодирование, связанное с определением отношения между стимулом и нейронными реакциями и взаимосвязи электрической активности между нейронами в головном мозге[42].

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

Несмотря на успехи использования глубинного обучения, у него всё же есть фундаментальное ограничение: модели глубинного обучения ограничены в том, что они могут представлять, и большинство программ нельзя выразить в виде непрерывного геометрического морфинга многообразия данных[43].

Осталось, однако, и скептическое представление, что глубокое обучение — не что иное, как модное слово или ребрендинг для нейронных сетей[44][45].

См. также

Примечания

  1. На самом деле, первые глубокие сети появились ещё в середине 1960-х: сети в виде глубоких перцептронов были описаны в работах советских учёных А. Г. Ивахненко и В. Г. Лапы — см. далее раздел «История».
  2. Исследователь нейронных сетей Джон Денкер (John Denker) в 1994 году заметил: «Нейронные сети — это второй лучший способ сделать практически что угодно».
  3. Ciresan, Dan; Meier, U.; Schmidhuber, J. Multi-column deep neural networks for image classification (англ.) // 2012 IEEE Conference on Computer Vision and Pattern Recognition : journal. — 2012. — June. — P. 3642—3649. — DOI:10.1109/cvpr.2012.6248110.
  4. Rina Dechter (1986). Learning while searching in constraint-satisfaction problems. University of California, Computer Science Department, Cognitive Systems Laboratory.
  5. Ивахненко А. Г., Лапа В. Г. Кибернетические предсказывающие устройства. — К.: «Наукова думка», 1965. — 216 с. — ISBN 978-5-458-61159-6.
  6. Yann LeCun et al. Backpropagation Applied to Handwritten Zip Code Recognition.
  7. J. Weng, N. Ahuja and T. S. Huang. Cresceptron: a self-organizing neural network which grows adaptively // Proc. International Joint Conference on Neural Networks, Baltimore, Maryland, vol I, pp. 576-581. — June, 1992..
  8. J. Weng, N. Ahuja and T. S. Huang,. Learning recognition and segmentation of 3-D objects from 2-D images // Proc. 4th International Conf. Computer Vision, Berlin, Germany, pp. 121-128. — May, 1993..
  9. J. Weng, N. Ahuja and T. S. Huang,. Learning recognition and segmentation using the Cresceptron // International Journal of Computer Vision, vol. 25, no. 2, pp. 105-139. — Nov. 1997..
  10. de Carvalho, Andre C. L. F.; Fairhurst, Mike C.; Bisset, David (1994-08-08). An integrated Boolean neural network for pattern classification // Pattern Recognition Letters.. — С. 807–813. — DOI:10.1016/0167-8655(94)90009-4..
  11. Hinton, Geoffrey E.; Dayan, Peter; Frey, Brendan J.; Neal, Radford. The wake-sleep algorithm for unsupervised neural networks // Science. 268 (5214): 1158–1161.. — 1995-05-26. — DOI:10.1126/science.7761831..
  12. 1 2 S. Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen // Diploma thesis. Institut f. Informatik, Technische Univ. Munich. Advisor: J. Schmidhuber. — 1991.
  13. Hochreiter, S.; et al. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies // In Kolen, John F.; Kremer, Stefan C. (eds.). A Field Guide to Dynamical Recurrent Networks. John Wiley & Sons.. — 15 January 2001. — ISBN 978-0-7803-5369-5..
  14. Morgan, Nelson; Bourlard, Hervé; Renals, Steve; Cohen, Michael; Franco, Horacio. Hybrid neural network/hidden markov model systems for continuous speech recognition // International Journal of Pattern Recognition and Artificial Intelligence.. — 1993-08-01. — № 07 (4): 899–916. — ISSN 0218-0014. — DOI:10.1142/s0218001493000455.
  15. Robinson, T. A real-time recurrent error propagation network word recognition system. — ICASSP. Icassp'92: 617–620.. — 1992. — ISBN 9780780305328..
  16. Waibel, A.; Hanazawa, T.; Hinton, G.; Shikano, K.; Lang, K. J. Phoneme recognition using time-delay neural networks // IEEE Transactions on Acoustics, Speech, and Signal Processing. 37 (3): 328–339. — March 1989. — ISSN 0096-3518. — DOI:10.1109/29.21701. hdl:10338.dmlcz/135496.
  17. Baker, J.; Deng, Li; Glass, Jim; Khudanpur, S.; Lee, C.-H.; Morgan, N.; O'Shaughnessy, D. 2009. Research Developments and Directions in Speech Recognition and Understanding, Part 1 // IEEE Signal Processing Magazine.. — № 26 (3): 75–80. — DOI:10.1109/msp.2009.932166.
  18. Bengio, Y. Artificial Neural Networks and their Application to Speech/Sequence Recognition // McGill University Ph.D. thesis.. — 1991.
  19. Deng, L.; Hassanein, K.; Elmasry, M. Analysis of correlation structure for a neural predictive model with applications to speech recognition // Neural Networks. 7 (2). — 1994. — С. 331–339. — DOI:10.1016/0893-6080(94)90027-2.
  20. A Fast Learning Algorithm for Deep Belief Nets
  21. Bengio, Yoshua (2012), "Practical recommendations for gradient-based training of deep architectures", arΧiv:1206.5533 
  22. Announcement of the winners of the Merck Molecular Activity Challenge.
  23. NCATS Announces Tox21 Data Challenge Winners.
  24. Ciresan, Dan; Giusti, Alessandro; Gambardella, Luca M.; Schmidhuber, Juergen. Advances in Neural Information Processing Systems // Curran Associates, Inc.. — 2012. — С. 2843–2851..
  25. Ciresan, D.; Meier, U.; Schmidhuber, J. Multi-column deep neural networks for image classification // IEEE Conference on Computer Vision and Pattern Recognition. — 2012. — С. 3642–3649. — ISBN 978-1-4673-1228-8. — DOI:10.1109/cvpr.2012.6248110. — arXiv:1202.2745..
  26. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffry. ImageNet Classification with Deep Convolutional Neural Networks // NIPS 2012: Neural Information Processing Systems, Lake Tahoe, Nevada.. — 2012.
  27. Ciresan, D.; Giusti, A.; Gambardella, L.M.; Schmidhuber, J. Mitosis Detection in Breast Cancer Histology Images using Deep Neural Networks // Proceedings MICCAI. Lecture Notes in Computer Science. 7908 (Pt 2): 411–418.. — 2013. — ISBN 978-3-642-38708-1. — DOI:10.1007/978-3-642-40763-5_51. — PMID 24579167.
  28. "The Wolfram Language Image Identification Project". www.imageidentify.com. Retrieved 2017-03-22..
  29. Vinyals, Oriol; Toshev, Alexander; Bengio, Samy; Erhan, Dumitru. Show and Tell: A Neural Image Caption Generator // [cs.CV]. — 2014. — arXiv:1411.4555.
  30. Fang, Hao; Gupta, Saurabh; Iandola, Forrest; Srivastava, Rupesh; Deng, Li; Dollár, Piotr; Gao, Jianfeng; He, Xiaodong; Mitchell, Margaret; Platt, John C; Lawrence Zitnick, C; Zweig, Geoffrey. From Captions to Visual Concepts and Back // [cs.CV]. — 2014. — arXiv:https://arxiv.org/abs/1411.4952.
  31. Kiros, Ryan; Salakhutdinov, Ruslan; Zemel, Richard S. Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models // [cs.LG]. — 2014. — arXiv:https://arxiv.org/abs/1411.2539.
  32. Zhong, Sheng-hua; Liu, Yan; Liu, Yang. Bilinear Deep Learning for Image Classification // Proceedings of the 19th ACM International Conference on Multimedia. MM '11. New York, NY, USA: ACM. — 2011. — С. 343–352. — ISBN 9781450306164. — DOI:10.1145/2072298.2072344.
  33. Why Deep Learning Is Suddenly Changing Your Life. Fortune (2016. Retrieved 13 April 2018.).
  34. Silver, David; Huang, Aja; Maddison, Chris J.; Guez, Arthur; Sifre, Laurent; Driessche, George van den; Schrittwieser, Julian; Antonoglou, Ioannis; Panneershelvam, Veda. Mastering the game of Go with deep neural networks and tree search // Nature: 529 (7587):. — January 2016. — ISSN 1476-4687. — DOI:10.1038/nature16961. — Bibcode2016Natur.529..484S. — PMID 26819042.
  35. 1 2 3 Deng, L.; Yu, D. Deep Learning: Methods and Applications (неопр.) // Foundations and Trends in Signal Processing. — 2014. — Т. 7, № 3—4. — С. 1—199. — DOI:10.1561/2000000039.
  36. 1 2 Bengio, Yoshua. Learning Deep Architectures for AI (неопр.) // Foundations and Trends in Machine Learning. — 2009. — Т. 2, № 1. — С. 1—127. — DOI:10.1561/2200000006. Архивировано 4 марта 2016 года. Архивная копия от 4 марта 2016 на Wayback Machine
  37. 1 2 3 Schmidhuber, J. Deep Learning in Neural Networks: An Overview (неопр.) // Neural Networks. — 2015. — Т. 61. — С. 85—117. — DOI:10.1016/j.neunet.2014.09.003. — arXiv:1404.7828. — PMID 25462637.
  38. Bengio, Y.; Courville, A.; Vincent, P. Representation Learning: A Review and New Perspectives (англ.) // IEEE Transactions on Pattern Analysis and Machine Intelligence (англ.) : journal. — 2013. — Vol. 35, no. 8. — P. 1798—1828. — DOI:10.1109/tpami.2013.50. — arXiv:1206.5538.
  39. Bengio, Yoshua; LeCun, Yann; Hinton, Geoffrey. Deep Learning (англ.) // Nature. — 2015. — Vol. 521. — P. 436—444. — DOI:10.1038/nature14539. — PMID 26017442.
  40. Glauner, P. (2015). Deep Convolutional Neural Networks for Smile Recognition (MSc Thesis). Imperial College London, Department of Computing. arXiv:1508.06535.
  41. Song, Lee, Neural Information Processing, 2013
  42. Olshausen, B. A. Emergence of simple-cell receptive field properties by learning a sparse code for natural images (англ.) // Nature : journal. — 1996. — Vol. 381, no. 6583. — P. 607—609. — DOI:10.1038/381607a0. — Bibcode1996Natur.381..607O. — PMID 8637596.
  43. Francois Chollet. Chapter 9, Section 2 // Deep Learning with Python. — Manning, 2017. — 350 p. — ISBN 9781617294433.
  44. Deep Learning for Efficient Discriminative Parsing. Время от начала источника: 7min 45s.
  45. Gomes, Machine-Learning Maestro Michael Jordan on the Delusions of Big Data and Other Huge Engineering Efforts

Литература

  • Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение = Deep Learning. — М.: ДМК Пресс, 2017. — 652 с. — ISBN 978-5-97060-554-7.
  • Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. — СПб.: Питер, 2018. — 480 с. — ISBN 978-5-496-02536-2.

Ссылки

Критика