mrgloom 242 Жалоба Опубликовано November 13, 2012 http://www.iro.umontreal.ca/~lisa/twiki/bin/view.cgi/Public/WebHome еще некоторый материал по deep learning Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 20, 2013 http://cs.nyu.edu/~fergus/tutorials/deep_learning_cvpr12/ курс лекций быстро просмотрел, но так и не понял как так получается, что слои которые имеют большую абстракцию(более глубокие слои) при визуализации имеют больший размер? например в сверточных сетях там как раз всё на убыль идёт. и по идее если PCA несколько раз применить над данными, то размерность данных уменьшиться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 20, 2013 Так для того, чтобы визуализировать то, что находится в глубоком слое, надо пройти от него обратно к первому. Берем карту коэффициентов, и собираем из образов предыдущего слоя картинку как в методе главных компонент. Затем то же самое повторяем с предыдущими слоями. В результате, каждая картинка будет иметь размер входного слоя. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано February 21, 2013 да, впринципе логично. кстати автоэнкодер нелинейный? т.к. PCA то линейный и его последовательное применение ничего не даст(всмысле применять PCA на каждом слое). это к тому что наверно если несколько автоэнкодеров просто соединить, то это тоже не даст хорошего результата, они там вроде как то сложнее делают. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано February 21, 2013 Если сеть многослойная, то в ней должна присутствовать нелинейность. Без нелинейной функции, любое количество слоев сводится к одному простым перемножением матриц весов. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BeS 53 Жалоба Опубликовано March 27, 2013 А никто не знает хорошего описания на русском языке по Deep Learning? А то на английском вагон статей, а в рунете такое ощущение что никто не пользуется. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано March 27, 2013 Вот немного материала по-русски: http://machinelearning.ru/wiki/images/f/f3/Deep_Learning.pdf Здесь большой форум по машинному обучению (английский правда): http://metaoptimize.com/qa/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано March 28, 2013 я думаю по русски ничего и не найдешь. по английски может материала и много, но всё равно много чего непонятного. довольно много самих разновидностей нейросетей(RBF,Convolution neural network,Stacked Autoencoders,Deep belief nets,Denoising Autoencoders)+ еще много вариантов препроцессинга между слоями. я бы не отказался от внятного туториала хотя бы на английском. есть курс от Хинтона https://www.coursera.org/course/neuralnets + еще у него на сайте лекций. но объем всего этого как мне кажется довольно большой и широкий. тут еще 2 ссылки на лекции http://www.compvision.ru/forum/index.php?showtopic=1087 тут есть тудбокс для матлаба https://github.com/rasmusbergpalm/DeepLearnToolbox так что как мне кажется лучше отталкиваться от конкретной темы, например взять stacked autoencoders, как я понял последовательно обучается цепочка автоэнкодеров, т.е. по идее можно остановиться на любом кол-ве шагов, а на выходе мы должны получить сокращение размерности входных данных и типа репрезантивные новые фичи меньшей размерности, которые мы потом сможем применить например для классификации. но метод вроде как тормозной+там опять же есть не очевидный препроцессинг whitening и pooling. п.с. лучше перенести обсуждение в ветку про Deep Learning, вроде было уже несколько тем+ про sparse autoencoder. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Victor Tsaregorodtsev 10 Жалоба Опубликовано March 28, 2013 >Так для того, чтобы визуализировать то, что находится в глубоком слое, надо пройти от него обратно к первому. > Берем карту коэффициентов, и собираем из образов предыдущего слоя картинку как в методе главных компонент. > Затем то же самое повторяем с предыдущими слоями. > В результате, каждая картинка будет иметь размер входного слоя. С опозданием на месяц кину ещё один вариант решения. Берём любой образ, на котором нужный нам "глубокий" нейрон стал победителем среди своих соседей (выдал наибольший сигнал). И начинаем решать обратную задачу - так менять входной образ, чтобы ещё больше максимизировать выходной сигнал данного глубокого нейрона с одновременным уменьшением сигналов его соседей. Т.е. задача обучения с учителем, эталонные коды (1 и -1 или 1 и 0 для нейронов) очевидны. Метод решения - обычный бэкпроп, только обучающий не веса сети, а значения входных сигналов. Т.е. если один глубокий нейрон реагирует на мужика, другой - на бабу, а на входе сети - картинка из камасутры, то "обучение" картинки может убрать с картинки ненужное (бабу или мужика), т.к. мы убираем то, на что реагировал другой нейрон (чья реакция нам не интересна) 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано September 17, 2013 кстати тут есть про применение нескольких слоёв kernel PCA перед SVM на манер deep learning. так что это не лишено смысла. http://www.cs.toronto.edu/~amnih/cifar/talks/erhan_talk.pdf Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано October 13, 2013 C++ реализация Хинтоновской сети (C++ 11 implementation of Geoff Hinton's Deep Learning): https://github.com/jdeng/rbm-mnist Лекция по применению DBM (Recent Applications of Deep Boltzmann Machines by Ruslan Salakhutdinov): http://techtalks.tv/talks/recent-applications-of-deep-boltzmann-machines/58082/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах