В стенах Azoft прошла лекция по практическому применению нейронных сетей.
На лекции рассказывалось о типах нейронных сетей, способах и особенностях их обучения и практическом применении. В конце доклада ребята дали советы для тех, кто только хочет начать развиваться в этой сфере: какие задачи решать, с чем экспериментировать, на какие смежные области обратить особенное внимание.
Видеозапись лекции вы можете посмотреть на YouTube: https://youtu.be/gwf18CGJM5c
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Yandex
Свёрточные нейронные сети позволяют получать потрясающие результаты во многих задачах компьютерного зрения. В этом докладе я расскажу о нашем опыте обучения и применения свёрточных нейронных сетей. Отдельно будет затронут актуальный вопрос сжатия и ускорения нейросетевых моделей.
Современные архитектуры диалоговых систем / Анатолий Востряков (Segmento)Ontico
В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах. Вначале будет мягкое введение в Deep Learning for NLP для лучшего понимания представленных архитектур.
Введение в архитектуры нейронных сетей / HighLoad++ 2016Grigory Sapunov
Slides from HighLoad++ 2016 conference.
Introduction into neural network architectures (Rus)
Презентация для конференции HighLoad++ 2016.
http://www.highload.ru/2016/abstracts/2454.html
Видеозапись доклада:
https://www.youtube.com/watch?v=XY5AczPW7V4
В стенах Azoft прошла лекция по практическому применению нейронных сетей.
На лекции рассказывалось о типах нейронных сетей, способах и особенностях их обучения и практическом применении. В конце доклада ребята дали советы для тех, кто только хочет начать развиваться в этой сфере: какие задачи решать, с чем экспериментировать, на какие смежные области обратить особенное внимание.
Видеозапись лекции вы можете посмотреть на YouTube: https://youtu.be/gwf18CGJM5c
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Yandex
Свёрточные нейронные сети позволяют получать потрясающие результаты во многих задачах компьютерного зрения. В этом докладе я расскажу о нашем опыте обучения и применения свёрточных нейронных сетей. Отдельно будет затронут актуальный вопрос сжатия и ускорения нейросетевых моделей.
Современные архитектуры диалоговых систем / Анатолий Востряков (Segmento)Ontico
В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах. Вначале будет мягкое введение в Deep Learning for NLP для лучшего понимания представленных архитектур.
Введение в архитектуры нейронных сетей / HighLoad++ 2016Grigory Sapunov
Slides from HighLoad++ 2016 conference.
Introduction into neural network architectures (Rus)
Презентация для конференции HighLoad++ 2016.
http://www.highload.ru/2016/abstracts/2454.html
Видеозапись доклада:
https://www.youtube.com/watch?v=XY5AczPW7V4
Machine learning c использованием нейронных сетей, Дмитрий ЛапинIT61
Обзор популярных фреймворков для обучения нейронных сетей, поделюсь собственным опытом их внедрения. Расскажу об использовании готовых предобученных сетей "как есть", дообучении (fine-tuning) и обучении собственных сетей с нуля.
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...Alex V. Petrov
На примере одной специализированной, но значимой для большинства высокопроизводительных систем точки оптимизации исходного кода — работы с кэш-памятью — доклад «Достижима ли в C++ эффективность языка "среднего уровня"?», сделанный на DEV Labs 2013, показывает, какими несложными приемами и техниками можно достичь желаемого уровня эффективности объектно-ориентированного кода, и развеивает миф о языке C++ как языке «архитектурной астронавтики», предлагая аудитории ряд действенных рецептов повышения производительности исходного кода.
This talk (in Russian) is about RUNOS OpenFlow controller publicly available at https://github.com/ARCCN/runos. Feel free to contact me if you have questions.
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Stfalcon Meetups
Сергей Комлач
Занимается разработкой под мобильные платформы более 8-ми лет. Последние 2 года занимает должность старшего Android разработчика. Ведет курс разработки по Android в рамках Google Android Study . Докладчик на UAMobile 2014 (Kiev) , Lviv Mobile Developers Day 2014 , Google Developers Fest (2014, Lviv) , MobileOptimized (Minsk). Соорганизатор GDG Kremenchuk .
Сейчас контейнеризация и Kubernetes в частности — стандарт де-факто для запуска приложений «в бою». И запустить-то приложение в «кубе» несложно, но как всегда есть нюанс и не один. Обсудим, что нужно разработчику и админу учесть и сделать для того, чтобы приложение работало быстро и надёжно, не требуя к себе особого внимания. Например, посмотрим, как работают requests и limits на ресурсы, чем должны отличаться liveness и readiness пробы, и на что следует обращать внимание в мониторинге и так далее.
Machine learning c использованием нейронных сетей, Дмитрий ЛапинIT61
Обзор популярных фреймворков для обучения нейронных сетей, поделюсь собственным опытом их внедрения. Расскажу об использовании готовых предобученных сетей "как есть", дообучении (fine-tuning) и обучении собственных сетей с нуля.
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
DEV Labs 2013. Can C++ Code Effeciency Be Comparable to That of Middle-Level ...Alex V. Petrov
На примере одной специализированной, но значимой для большинства высокопроизводительных систем точки оптимизации исходного кода — работы с кэш-памятью — доклад «Достижима ли в C++ эффективность языка "среднего уровня"?», сделанный на DEV Labs 2013, показывает, какими несложными приемами и техниками можно достичь желаемого уровня эффективности объектно-ориентированного кода, и развеивает миф о языке C++ как языке «архитектурной астронавтики», предлагая аудитории ряд действенных рецептов повышения производительности исходного кода.
This talk (in Russian) is about RUNOS OpenFlow controller publicly available at https://github.com/ARCCN/runos. Feel free to contact me if you have questions.
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Stfalcon Meetups
Сергей Комлач
Занимается разработкой под мобильные платформы более 8-ми лет. Последние 2 года занимает должность старшего Android разработчика. Ведет курс разработки по Android в рамках Google Android Study . Докладчик на UAMobile 2014 (Kiev) , Lviv Mobile Developers Day 2014 , Google Developers Fest (2014, Lviv) , MobileOptimized (Minsk). Соорганизатор GDG Kremenchuk .
Сейчас контейнеризация и Kubernetes в частности — стандарт де-факто для запуска приложений «в бою». И запустить-то приложение в «кубе» несложно, но как всегда есть нюанс и не один. Обсудим, что нужно разработчику и админу учесть и сделать для того, чтобы приложение работало быстро и надёжно, не требуя к себе особого внимания. Например, посмотрим, как работают requests и limits на ресурсы, чем должны отличаться liveness и readiness пробы, и на что следует обращать внимание в мониторинге и так далее.
2. Deep learning
1. Что такое deep learning.
набор алгоритмов машинного обучения, которые пытаются моделировать
высокоуровневые абстракции в данных, используя архитектуры,
состоящие из множества нелинейных трансформаций.[1]
2. Комбинирование обучения «с учителем» и «без учителя»
3. Недостатки?
4. Deep convolutional neural networks, CAFFE implementation
4. Наборы признаков (Features sets:)
Convolution Neural Network Architecture Model[3]
На каком этапе формируются карты признаков? Для чего?
5. Наборы признаков:
Карта признаков [4]
Накладываем друг на друга
но, с «коэффициентом
прозрачности»
6. Pooling
Пример работы pooling слоя [5]
Из нескольких соседних нейронов карты признаков выбирается максимальный
и принимается за один нейрон.
7. Библиотеки для работы с deep learning
http://deeplearning.net/software_links/
Caffe – deep convolutional neural network framework
http://caffe.berkeleyvision.org
ConvNetJS – JS based deep learning framework
http://cs.stanford.edu/people/karpathy/convnetjs/
DL4J - Java based deep learning framework
http://deeplearning4j.org/
Theano – CPU/GPU symbolic expression compiler in python
http://deeplearning.net/software/theano
Cuda-Convnet – A fast C++/CUDA implementation of convolutional
(or more generally, feed-forward) neural networks
http://code.google.com/p/cuda-convnet/
Torch – provides a Matlab-like environment for state-of-the-art machine
learning algorithms in lua
http://www.torch.ch/
Accord.NET - C# deep learning
http://accord-framework.net/,
tutorial:http://whoopsidaisies.hatenablog.com/entry/2014/08/19/015420
8. Бабий А.С. - apratster@gmail.com
CAFFE
1. GPU (CUDA) and CPU support
2. Caffe can be accelerated by NVIDIA cuDNN
3. Python and/or MATLAB wrappers
4. Config paradigm vs Coding paradigm. Command line tools.
*CPU-only Caffe:
Uncomment the CPU_ONLY := 1 flag in Makefile.config
http://caffe.berkeleyvision.org/installation.html
9. Работа с CAFFE
Начинать лучше с утилит командной строки:
build/tools
Наиболее доступный пример на базе MNIST – распознавания рукописных цифр
http://caffe.berkeleyvision.org/gathered/examples/mnist.html
cd $CAFFE_ROOT
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
cd $CAFFE_ROOT
./examples/mnist/train_lenet.sh
10. В каком виде подаются входные и выходные данные?
- databases (LevelDB or LMDB)
- directly from memory
- from files on disk in HDF5
- common image formats.
http://symas.com/mdb/ http://leveldb.org/
Input data
Output data
-snapshot file with mode
-snapshot file with solver state
Solver? Yes, we can continue breacked training from snapshot
12. Виды слоев
Convolutional layer
Required field
num_output (c_o): the number of filters
kernel_size (or kernel_h and kernel_w): specifies height and width of each filter
Pooling layer
Required
kernel_size (or kernel_h and kernel_w): specifies height and width of each filter
Loss Layers, Activation / Neuron Layers, Data Layers, Common Layers
How to configure?
Ready to use models in folder: examples
13. Решение своей задачи
1. Заботимся о корректности, размере и покрытии выборок.
2. Компилируем Caffe с поддержкой GPU.
3. Конфигурируем сеть, отталкиваясь от примеров.
4. Тренируем, смотрим на результат тестовой выборки.
5. Если результат не устраивает- настраиваем и тренируем до получения
достаточного результата
6. Для использования натренированной сети для одиночных
Изображений необходимо написать конфиг и воспользоваться
C++, Python или Mathlab.
14. Литература
1. L. Deng and D. Yu, "Deep Learning: Methods and Applications“
http://research.microsoft.com/pubs/209355/DeepLearning-NowPublishing-Vol7-
SIG-039.pdf
2. ConvNet configuration by Krizhevsky et al
http://books.nips.cc/papers/files/nips25/NIPS2012_0534.pdf
3. Efficient mapping of the training of Convolutional Neural Networks to a CUDA-based
cluster http://parse.ele.tue.nl/education/cluster2
4. http://www.cs.toronto.edu/~ranzato/research/projects.html
5. http://www.amolgmahurkar.com/classifySTLusingCNN.html
Спасибо за внимание !