Caffe2 - Введение
Последние пару лет глубокое обучение стало большой тенденцией в машинном обучении. Он успешно применяется для решения ранее неразрешимых проблем в Vision, Speech Recognition and Natural Language Processing(НЛП). Есть еще много областей, в которых глубокое обучение применяется и показало свою полезность.
Caffe (Convolutional Architecture for Fast Feature Embedding) фреймворк глубокого обучения, разработанный в Berkeley Vision and Learning Center (BVLC). Проект Caffe был создан Янцин Цзя во время его докторской диссертации. в Калифорнийском университете в Беркли. Caffe предоставляет простой способ экспериментировать с глубоким обучением. Он написан на C ++ и предоставляет привязки дляPython и Matlab.
Он поддерживает множество различных типов архитектур глубокого обучения, таких как CNN (Сверточная нейронная сеть), LSTM(Долговременная память) и FC (Полностью подключена). Он поддерживает графический процессор и, таким образом, идеально подходит для производственных сред с глубокими нейронными сетями. Он также поддерживает библиотеки ядра на базе ЦП, такие какNVIDIA, Библиотека CUDA Deep Neural Network (cuDNN) и библиотека Intel Math Kernel (Intel MKL).
В апреле 2017 года американская компания по предоставлению социальных сетей Facebook анонсировала Caffe2, который теперь включает RNN (рекуррентные нейронные сети), а в марте 2018 года Caffe2 был объединен с PyTorch. Создатели Caffe2 и члены сообщества создали модели для решения различных задач. Эти модели доступны общественности в виде предварительно обученных моделей. Caffe2 помогает создателям использовать эти модели и создавать собственную сеть для прогнозирования набора данных.
Прежде чем мы углубимся в подробности Caffe2, давайте поймем разницу между machine learning и deep learning. Это необходимо для понимания того, как модели создаются и используются в Caffe2.
Машинное обучение против глубокого обучения
В любом алгоритме машинного обучения, будь то традиционный или глубокий, выбор функций в наборе данных играет чрезвычайно важную роль в достижении желаемой точности прогнозов. В традиционных методах машинного обученияfeature selectionделается в основном с помощью человеческого осмотра, суждения и глубоких знаний в предметной области. Иногда вы можете обратиться за помощью к нескольким проверенным алгоритмам для выбора функций.
Традиционный процесс машинного обучения изображен на рисунке ниже -
В глубоком обучении выбор функций происходит автоматически и является частью самого алгоритма глубокого обучения. Это показано на рисунке ниже -
В алгоритмах глубокого обучения feature engineeringвыполняется автоматически. Как правило, разработка функций занимает много времени и требует хороших знаний в данной области. Чтобы реализовать автоматическое извлечение признаков, алгоритмы глубокого обучения обычно запрашивают огромный объем данных, поэтому, если у вас есть только тысячи и десятки тысяч точек данных, метод глубокого обучения может не дать вам удовлетворительных результатов.
При больших объемах данных алгоритмы глубокого обучения дают лучшие результаты по сравнению с традиционными алгоритмами машинного обучения с дополнительным преимуществом в виде меньшего количества функций или их отсутствия.