vkantor / MIPT_Data_Mining_In_Action_2016

"Data Mining in Action Course", Moscow Institute of Physics and Technologies
209 stars 175 forks source link

Автоэнкодер target #9

Closed Sergey1983 closed 7 years ago

Sergey1983 commented 7 years ago

Насколько я понимаю принципы тренировки любого классификатора с обучением, мы берем тренировочную выборку данных с классами (обучающую), запускаем классификатор и сравниваем выданный им класс для строки выборки с реально записанным классом для этой строки. Т.е. мы подбираем функцию F(X_train)->Y_train, так, чтобы в правой части максимально близко было равно левой части. Я не понял, что у нас является Train_Y в в коде обучения автоэнкодера. Я плохо разбираюсь в коде lasagne и theano, но здесь http://joxi.ru/gmvRYX0hx7nv7m у нас 2 раза X_train и в коде http://joxi.ru/823OLYaf6o38G2 здесь вроде бы target_x похоже на y_train, но я не нашел выше указания, что target_x = y_train. Т.е. если не понятно написал, где у нас в коде автоэнкодера заданы реальные лэйблы обучающей выборки, на которых и тренируем нашу сеть?

senya-ashukha commented 7 years ago

Добрый день. У Вас в заднее обучение без учителя. Те считайте что меток нету. Нужно раздать картинки из выданных скрытых представлений и посмотреть на них глазами и угадать метки.

On Mon, Oct 10, 2016, 4:37 PM Sergey1983 notifications@github.com wrote:

Насколько я понимаю принципы тренировки любого классификатора с обучением, мы берем тренировочную выборку данных с классами (обучающую), запускаем классификатор и сравниваем выданный им класс для строки выборки с реально записанным классом для этой строки. Т.е. мы подбираем функцию F(X_train)->Y_train, так, чтобы в правой части максимально близко было равно левой части. Я не понял, что у нас является Train_Y в в коде обучения автоэнкодера. Я плохо разбираюсь в коде lasagne и theano, но здесь http://joxi.ru/gmvRYX0hx7nv7m http://url у нас 2 раза X_train и в коде http://joxi.ru/823OLYaf6o38G2 http://url здесь вроде бы target_x похоже на y_train, но я не нашел выше указания, что target_x = y_train. Т.е. если не понятно написал, где у нас в коде автоэнкодера заданы реальные лэйблы обучающей выборки, на которых и тренируем нашу сеть?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vkantor/MIPT_Data_Mining_In_Action_2016/issues/9, or mute the thread https://github.com/notifications/unsubscribe-auth/AKBNU2crplHngbto06T8W4P8ajzBslBZks5qyj-YgaJpZM4KSkss .

Yours sincerely, Ashuha Arseniy.

senya-ashukha commented 7 years ago

Автоэнкодер ничего не знает про цифры, видит только картинки.

On Mon, Oct 10, 2016, 4:37 PM Sergey1983 notifications@github.com wrote:

Насколько я понимаю принципы тренировки любого классификатора с обучением, мы берем тренировочную выборку данных с классами (обучающую), запускаем классификатор и сравниваем выданный им класс для строки выборки с реально записанным классом для этой строки. Т.е. мы подбираем функцию F(X_train)->Y_train, так, чтобы в правой части максимально близко было равно левой части. Я не понял, что у нас является Train_Y в в коде обучения автоэнкодера. Я плохо разбираюсь в коде lasagne и theano, но здесь http://joxi.ru/gmvRYX0hx7nv7m http://url у нас 2 раза X_train и в коде http://joxi.ru/823OLYaf6o38G2 http://url здесь вроде бы target_x похоже на y_train, но я не нашел выше указания, что target_x = y_train. Т.е. если не понятно написал, где у нас в коде автоэнкодера заданы реальные лэйблы обучающей выборки, на которых и тренируем нашу сеть?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vkantor/MIPT_Data_Mining_In_Action_2016/issues/9, or mute the thread https://github.com/notifications/unsubscribe-auth/AKBNU2crplHngbto06T8W4P8ajzBslBZks5qyj-YgaJpZM4KSkss .

Yours sincerely, Ashuha Arseniy.

Sergey1983 commented 7 years ago

Таак, спасибо. тогда как он высчитывает ошибку? Что с чем сравнивает? (ф-я loss_train)?

senya-ashukha commented 7 years ago

На обучение мы хотим сжать картинку и восстановить. Сравнениваем картинку с самой собой на входе и на выходе.

On Mon, Oct 10, 2016, 5:20 PM Sergey1983 notifications@github.com wrote:

Таак, спасибо. тогда как он высчитывает ошибку? Что с чем сравнивает? (ф-я loss_train)?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/vkantor/MIPT_Data_Mining_In_Action_2016/issues/9#issuecomment-252634988, or mute the thread https://github.com/notifications/unsubscribe-auth/AKBNUxFQtljMu7_IswHWlTn3ktiuLO9nks5qykmkgaJpZM4KSkss .

Yours sincerely, Ashuha Arseniy.

Sergey1983 commented 7 years ago

На обучение мы хотим сжать картинку и восстановить. Сравнениваем картинку с самой собой на входе и на выходе.

Значит ли это, что внутренние слои должны быть меньше, чем внешний и выходной?

senya-ashukha commented 7 years ago

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

On Mon, Oct 10, 2016 at 7:39 PM Sergey1983 notifications@github.com wrote:

На обучение мы хотим сжать картинку и восстановить. Сравнениваем картинку с самой собой на входе и на выходе.

Значит ли это, что внутренние слои должны быть меньше, чем внешний и выходной?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/vkantor/MIPT_Data_Mining_In_Action_2016/issues/9#issuecomment-252674329, or mute the thread https://github.com/notifications/unsubscribe-auth/AKBNU3KR5HN9FgflWiGxxoop_Nf0Diuaks5qympFgaJpZM4KSkss .

Yours sincerely, Ashuha Arseniy.

Sergey1983 commented 7 years ago

Спасибо!

Нашел статью про автоэнкодер https://habrahabr.ru/post/134950/ они там выводят визуализацию значений внутреннего слоя. А как мы можем вывести такую визуализацию того, что происходит на нашем внутреннем слое? (что-то с mid_func)?

senya-ashukha commented 7 years ago

Неа, они визуализируют веса первого слоя -- у Вас в первом слое (самом левом, после входа) каждый нейрон имеет столько-же весов, сколько пикселе в картинке на входе. Те Вы можешь его нарисовать как картинку с помошью решейпа.

Не забуть про интерполяцию и поставь дропаут между слоями, а то красивая картинка не получится =)

On Mon, Oct 10, 2016 at 8:24 PM Sergey1983 notifications@github.com wrote:

Спасибо!

Нашел статью про автоэнкодер https://habrahabr.ru/post/134950/ они там выводят визуализацию значений внутреннего слоя. А как мы можем вывести такую визуализацию того, что происходит на нашем внутреннем слое? (что-то с mid_func)?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/vkantor/MIPT_Data_Mining_In_Action_2016/issues/9#issuecomment-252684896, or mute the thread https://github.com/notifications/unsubscribe-auth/AKBNUwMaRrTf9qNhkM_trKpfP9ItUx8Rks5qynTFgaJpZM4KSkss .

Yours sincerely, Ashuha Arseniy.

Sergey1983 commented 7 years ago

Не забуть про интерполяцию и поставь дропаут между слоями, а то красивая картинка не получится =)

"Не забудь" - это интересно, я вообще в первый раз об этом слышу сегодня, как и об автоэнкодере, впрочем :) Так, про dropout нашел в документации и поставил перед входным "net = lasagne.layers.DropoutLayer(net, p=0.5, rescale=True) # Dropout-layer"

А интерполяция это как?

senya-ashukha commented 7 years ago

:) если будете картинки рисовать, включите сглаживание.

On Mon, Oct 10, 2016, 9:22 PM Sergey1983 notifications@github.com wrote:

Не забуть про интерполяцию и поставь дропаут между слоями, а то красивая картинка не получится =)

"Не забудь" - это интересно, я вообще в первый раз об этом слышу сегодня, как и об автоэнкодере, впрочем) Так, про dropout нашел в документации https://goo.gl/1U28je и поставил перед входным "net = lasagne.layers.DropoutLayer(net, p=0.5, rescale=True)

Dropout-layer"

А интерполяция это как?

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/vkantor/MIPT_Data_Mining_In_Action_2016/issues/9#issuecomment-252700162, or mute the thread https://github.com/notifications/unsubscribe-auth/AKBNU0Z5VCsNWGpEtoo_21ubbYeGNpZRks5qyoJtgaJpZM4KSkss .

Yours sincerely, Ashuha Arseniy.