Ну тогда не вижу смысла приводить какие-либо картинки. Наверное, нужно изменить задачу обучения для наглядного представления. Нейросеть, как я понял, представляет собой некий «фильтр», работающий в обе стороны… было бы неплохо сделать его более наглядным.
Нейронные сети бывают разные. В топике я описал рециркуляционные, задача которых сжатие и восстановление информации. При этом, разумеется, важным является потеря данных при восстановлении. То, что изображения не различимы — признак хорошей степени обученности сети.
Ну вот и вернулись к моему первому комментарию — по приведенной картинке это сложно сделать:
1. Разрешение низкое.
2. Картинки соединены — по размеру даже не сравнить.
Реально сделать более наглядно? Выделить области, где потеряна информация, продемонстрировать на изображениях с большим разрешением и т.д.
В данном случае нейросеть работает как архив, перегруппировывая данные. Ухудшение вы получите если плохо ее обучить. А цель автора я так понимаю, как раз и заключалась в том, чтобы доказать наличие возможность сжатия/восстановления информации без больших потерь данных.
Смысл ваших просьб показать плохой вариант, лично мне не понятен. Если вас интересует, можно ли это сделать плохо? То ответ да.
Господа! Приведенный пример в высшей степени не нагляден.
1) Давайте сразу учтем, что уж коль png срабатывает без потерь по этой картинке с коэффициентом сжатия 74%, то нет никакого смысла применять любой алгоритм сжатия с потерями, который отработает хуже (в статье заявлено сжатие 77%).
2) Поэтому, предлагаю выложить в комментариях образцы, подвергшиеся сжатию со степенью <20%. Это позволит наглядно оценить характер вносимых алгоритмом искажений, и сделать выводы о пригодности данного алгоритма «в реальной жизни».
Пока подробно не вникал в суть, но сразу замечания по оформлению:
1. Нечитаемые формулы из ворда. (Хотя бы крупнее их сделать, местами линии просто пропали, а лучше нормальные формулы в TeX сделать)
2. Кривые отсканированные картинки. (Неужели сложно перерисовать — это 15 минут).
Хоть и обвиняют русскоязычные блоги в неблагодарности по отношению к автору, но в данном случае всё-таки я бы сделал замечание автору за сильный перекос статьи в сторону ненужных теоретических подробностей.
Вместо этого следовало:
1. Взять несколько примеров сжимаемых картинок (природа, портрет, рисунок, белый/розовый шум) и ужать их как можно сильнее, чтобы понять как и насколько вылезающие артефакты соотносятся с исходным изображением.
2. Объяснить почему для реализации был выбран именно Clojure — не имею ничего против, но почему не Python, C#, Haskell или, простигосподи, Malbolge? С какими сложностями при реализации пришлось столкнуться? Какова производительность в зависимости от размера исходника? Кстати, большой плюс за дублирование реализации на Java — это более user friendly, пока что.
3. Прокомментировать свой вклад в тему — то ли он впервые применил рециркуляционные НС для сжатия изображений, то ли просто взял готовый алгоритм и реализовал его на любимом языке.
Извиняюсь за наезд, просто сам с детства сталкиваюсь с тем что кроме того что нужно добиться результата, нужно уметь правильно его преподносить.
Рециркуляционные нейронные сети