vkantor/MIPT_Data_Mining_In_Action_2016

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

Sergey1983 opened this issue · 10 comments

Насколько я понимаю принципы тренировки любого классификатора с обучением, мы берем тренировочную выборку данных с классами (обучающую), запускаем классификатор и сравниваем выданный им класс для строки выборки с реально записанным классом для этой строки. Т.е. мы подбираем функцию 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.
Т.е. если не понятно написал, где у нас в коде автоэнкодера заданы реальные лэйблы обучающей выборки, на которых и тренируем нашу сеть?

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

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
#9, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKBNU2crplHngbto06T8W4P8ajzBslBZks5qyj-YgaJpZM4KSkss
.

Yours sincerely,
Ashuha Arseniy.

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

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
#9, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKBNU2crplHngbto06T8W4P8ajzBslBZks5qyj-YgaJpZM4KSkss
.

Yours sincerely,
Ashuha Arseniy.

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

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

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
#9 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKBNUxFQtljMu7_IswHWlTn3ktiuLO9nks5qykmkgaJpZM4KSkss
.

Yours sincerely,
Ashuha Arseniy.

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

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

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

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
#9 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKBNU3KR5HN9FgflWiGxxoop_Nf0Diuaks5qympFgaJpZM4KSkss
.

Yours sincerely,
Ashuha Arseniy.

Спасибо!

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

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

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

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
#9 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKBNUwMaRrTf9qNhkM_trKpfP9ItUx8Rks5qynTFgaJpZM4KSkss
.

Yours sincerely,
Ashuha Arseniy.

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

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

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

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

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
#9 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKBNU0Z5VCsNWGpEtoo_21ubbYeGNpZRks5qyoJtgaJpZM4KSkss
.

Yours sincerely,
Ashuha Arseniy.