Как я кошек отделил от собак при помощью нейросетки.

Фух, рассказывать тут можно много, но я расскажу на самой-самой поверхности.

Есть такой датасет на соревновании dogs vs cats, в котором нужно обучить что-нибудь на 25000 картинок собак и котов. Такой вот:

Как я кошек отделил от собак при помощью нейросетки. Нейронные сети, Сверточный слой, Коты и собаки вместе

Посидел я, почесал репу. Сделал на коленке сетку, состоящую из 5 сверточных слоев. Как ни странно, такая сетка не зашла, ибо просто слишком "тупая". Так думал я. Ну хорошо, запиливаю большущую сеть:

Как я кошек отделил от собак при помощью нейросетки. Нейронные сети, Сверточный слой, Коты и собаки вместе

из суммарно 42 сверточных слоев, что уже нереально дохрена. И что вы думаете? Нихрена! Не работает! Угадывает только в половине случаев, но при двух классах это не очень много...


Двое суток мучился, обращался в ods (наше научное сообщество), у друзей спрашивал. Задача простая, обидно прям. Решил уже было забить, как вдруг понял: у нас же между слоями образуется ерунда, надо нормализировать ерунду!


Добавляем слой BatchNorm (это такой слой, который приводит числа к адекватным, например оочень большие делит, а ооочень малькие умножает). И о чудо! 60% точности!


Такие дела :). Довел вот уже до 80%, наверное еще повышу. Если кому интересно - расскажу в следующем посте что означает рисунок выше, как создать такую сетку.


Спасибо за прочтение!


бм нашел в моем посте сиськи...

Искусственный интеллект

2.5K постов9.8K подписчика

Добавить пост

Правила сообщества

Здесь вы можете свободно создавать посты по теме Искусственного интеллекта. Добро пожаловать :)


Разрешено:


- Делиться вопросами, мыслями, гипотезами, юмором на эту тему.

- Делиться статьями, понятными большинству аудитории Пикабу.

- Делиться опытом создания моделей машинного обучения.

- Рассказывать, как работает та или иная фиговина в анализе данных.

- Век жить, век учиться.


Запрещено:


I) Невостребованный контент

  I.1) Создавать контент, сложный для понимания. Такие посты уйдут в минуса лишь потому, что большинству неинтересно пробрасывать градиенты в каждом тензоре реккурентной сетки с AdaGrad оптимизатором.

  I.2) Создавать контент на "олбанском языке" / нарочно игнорируя правила РЯ даже в шутку. Это ведет к нечитаемости контента.


II) Нетематический контент

  II.1) Создавать контент, несвязанный с Data Science, математикой, программированием.

  II.2) Создавать контент, входящий в противоречие существующей базе теорем математики. Например, "Земля плоская" или "Любое действительное число представимо в виде дроби двух целых".

  II.3) Создавать контент, входящий в противоречие с правилами Пикабу.


III) Непотребный контент

  III.1) Эротика, порнография (даже с NSFW).

  III.2) Жесть.


За нарушение I - предупреждение

За нарушение II - предупреждение и перемещение поста в общую ленту

За нарушение III - бан

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

Я не понимаю к чему пост. Те, кто в теме и так через что-то подобное проходили. Много раз. Те кто не в теме, те не в теме.

раскрыть ветку (7)
2
DELETED
Автор поста оценил этот комментарий

Ну и что? Я просто поделился со всеми, как такая простая ерунда может сводить работоспособность сетки на нет. А те кто не в теме - ну извините, на пикабу свою работу публикуют и сантехники, и юристы, и сапожники. Почему ds нельзя?)

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

Ну слушай, где ты видел пост, где сантехник пишет: "собрал я кран, а он течёт, оказалось резинку забыл", или юрист: "подал я документы в суд, их отклонили я исправил и их приняли".

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Ты сейчас половину постов с тегом [мое] описал.

Я анализом данных не занимаюсь, но теорию, в целом, знаю (как и любой, кто получил ВО по CS), мне было интересно. Конечно, хотелось бы подробностей...

1
DELETED
Автор поста оценил этот комментарий

Эм, а ты сам-то не видел?) Ну я конечно хз, что ты имеешь ввиду, но я такие часто вижу. Впрочем, я открыт для критики. Просто хотелось бы понять, что не так.

Автор поста оценил этот комментарий

А к чему твой коммент? Твоё мнение это твоё мнение, кто несогласен тот  несогласен с ним. Смысла комментировать нет.

Меня например заинтересовала тема нейросетки только с постов на пикабу. И для общего представления очень даже нравится читать именно сам процесс. 

раскрыть ветку (2)
Автор поста оценил этот комментарий

А комменты разве не для высказывания своего мнения придумали? Это их прямое назначение. И я не против постов про машинку или что-либо другое. Всегда найдутся те, кому эта тема интересна.

В этом посте никакого описания процесса или познавательных знаний нет. Вот что ты нового узнал? Что иногда нужно нормализировать векторы?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
А разве этот пост был создан с целью какого-учения? Вы вообще для получения научных знаний сюда ходите? Вряд ли, тут не так много постов. И учебник по ML я создавать не обязан и не буду.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку