Pull to refresh

Comments 10

Я не понял, что понимается под искромсаными картинками. Делим каждую картинку на части по 7х7. Дальше что делаем с ними?

Сурово кромсаем
st = 7 
for k in xrange(X_test.shape[0]): 
      for i in xrange(0,X_test.shape[1],st): 
           for j in xrange(0,X_test.shape[2],st): 
                 XX_test[k,i:i+st,j:j+st] = np.random.permutation( XX_test[k,i:i+st,j:j+st])

Отрезаем куски и пришиваем на новое случайное место.
Зачем такие сложности:
Обучите любую сеть на выборке:
x y
0 0
1 1
а потом протестируйте на примерах
0 1
1 0
accuracy будет 0, потому что вдруг вы решили поменять кодировку входов.
Шок, сенсация!.., ждем статью какая же низкая точность у сети, которую вообще не обучали.
Было бы странно, если бы тестовая последовательность входила бы в тренировочную. Это действительно бы как бы многое говорило. Так никогда не бывает обычно.
Но тут то они все рукописные цифры.
В том то и дело, что даже в самом простейшем примере, даже на тех данных, которые были в обучающей выборке, сеть покажет плохие результаты в тестировании если вдруг после обучения взять и поменять кодировку данных.
Вот Вам кусок вашей статьи в другой кодировке, попробуйте прочтите без декодера:
îÅ ÓÅËÒÅÔ, ÞÔÏ ÂÏÌØÛÉÎÓÔ×Ï ÓÉÓÔÅÍ ÒÁÓÐÏÚÎÁ×ÁÎÉÑ ÉÓÐÏÌØÚÕÀÔ éé ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÏÔÅÎÃÉÁÌØÎÙÈ ËÁÎÄÉÄÁÔÏ× É ÎÁÍ ÔÏÖÅ ÉÎÔÅÒÅÓÎÏ ÐÒÏ×ÅÒÉÔØ, ËÁË ÜÔÏ Õ ÃÉÆÒ.
промазал с ответом, извиняюсь.
Ну что Вы! какая кодировка!
В приведенном втором слайде все отлично видно, все цифры читаются.
Никаких искажений формы цифр не происходит, только немного меняется цвет.
Вот в первом примере там да, там полная перестановка и перекодировка, и на этих искромсаных цифрах тоже никто не учил эту сеть, но она работает!!!
Там где почти не разобрать цифры — сеть устойчива! А там где все отлично видно — полный провал.
И никаких кодировок — только перестановки!!!
Ну ок, переставьте все буквы в тексте — тоже не прочитаете. Это на человеческом уровне сознания ничего не изменилось на инвертированном изображении, а для компьютера, которому эти картинки передаются числами 0 вдруг стал 255, а 255 — нулем, хотя учили его наоборот. Компьютеру, например ничего не стоит этот текст расшифровать:
îÅ ÓÅËÒÅÔ, ÞÔÏ ÂÏÌØÛÉÎÓÔ×Ï ÓÉÓÔÅÍ ÒÁÓÐÏÚÎÁ×ÁÎÉÑ ÉÓÐÏÌØÚÕÀÔ éé ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÏÔÅÎÃÉÁÌØÎÙÈ ËÁÎÄÉÄÁÔÏ× É ÎÁÍ ÔÏÖÅ ÉÎÔÅÒÅÓÎÏ ÐÒÏ×ÅÒÉÔØ, ËÁË ÜÔÏ Õ ÃÉÆÒ.
а вы не можете, хотя читать умеете, и вообще его написали, потому что учились читать в другой кодировке. Так и не должно работать — всё равно что тушить пожар бензином.

Можно легко сделать устойчивую сеть, которая на ваших блондинка также будет устойчиво и хорошо работать.

Не а. Не сделаете.
Потому что этих перестановок очень много. Не забывайте, что 256 цветов и вариантов покрасить (перестановок будет 256! факториал) там очень много.
Гораздо больше, чем в любой процедуре аугментации.
Большинство из этих перестановок так изменят изображение, что оно станет и для человека нечитаемое.
Если в обучении после:
X_train /= 255.
X_test /= 255.
добавить ещё вычитание из 255, то всё вдруг заработает.
Sign up to leave a comment.

Articles