Программы


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
7 3 7

История о том, как мы создали приложение определяющее IQ котов по фото, с помощью нейронной сети Аноним (Microsoft Windows 10: Chromium based) 13/06/19 Чтв 14:59:35 25914551
11.png (7313Кб, 2873x2887)
2873x2887

Введение.

Кратко: Мы провели серию экспериментов по определению уровня IQ сорока пяти кошек, и сделали фотографии их мордочек. На основе полученных данных была создана нейронная сеть, определяющая IQ кошки по фото. Нейронная сеть интегрирована в мобильное приложение и опубликована в GooglePlay.
Далее подробное описание, как и зачем мы это сделали.
Ссылка на приложение:
https://play.google.com/store/apps/details?id=edu.IQat

Описание идеи.

Всем привет, и спасибо, что вы читаете мой пост! История создания данного приложения началась в начале 2018 года, а именно – вечером первого января. После веселого празднования окончания 2017го, в стенах нашего общежития (да да, я студент магистратуры) наступило затишье, около 8ти утра спали уже почти все. После сбора на обед (около 17-00) и трапезы, состоящей из салатика оливье и светлого пива, мы продолжили душевные беседы об окружающем нас мире. В какой-то момент ко мне подошла кошка по кличке «Шапка», живущая у моих друзей, и начала обнюхивать мою руку, лежащую себе спокойно на кровати. Т.к. у меня аллергия на кошек (на собак нет, и мне они нравятся больше); т.к. собак в общаге держать нельзя, а кошек можно, да и вообще, т.к. «Шапка» мне всегда казалась достаточно туповатой, я отодвинул её от себя с фразой «беги беги, тупое животное». Реакция хозяина кошки была молниеносна:
- Моя кошка будет поумнее многих. – Как в последствии окажется - справедливо, заметил её хозяин.
- Как это ты определил? Твоя кошечка еще ни разу не удивила меня своим IQ…-
Далее последовала долгая беседа и когда остатки торта были окончательно съедены за чаем, все присутствующие пришли к выводу, что:
1. Нужно провести сравнительный анализ IQ кошек и узнать, на сколько «Шапка» превосходит своих собратьев.
2. Чтобы данные по IQ не пропадали даром, хорошо бы собрать как можно больше дополнительной информации о всех кошках в этом эксперименте для поиска возможных корреляций.
3. Написать нейронную сеть, которая сможет определять IQ кошки по фото.
4. Сделать все в виде мобильного приложения.

Я не сразу понял, какой масштабный эксперимент мы придумали, но отступать было некуда – вызов был брошен.

Как мы определяли IQ кошечек и собирали данные.

Для того, чтобы определять IQ кошек было решено использовать Лабиринты Хебба-Уильямса.

Hebb D. O., Williams K. A method of rating animal intelligence //The Journal of general psychology. – 1946. – Т. 34. – №. 1. – С. 59-65.

Лабиринты различного вида для тестирования памяти и способности к обучению животных используют уже как минимум 100 лет.

Clements, R. L. and R. E. Brown. 1999. 100 years of mazes in psychology and neuroscience. Society for Neuroscience Abstracts 25:261.

В нашем случае были сооружены лабиринты стандартного типа, впервые использованные Рабиновичем и Росволдом для тестирования крыс. Для тестирования кошек мы конечно увеличили размеры лабиринтов. (стороны лабиринта по 1.8 метра, высота стенок 30 см) Чтобы не придумывать что-то новое, мы использовали схему эксперимента Питера Ливеси 1966 года из Университета Западной Австралии.

Rabinovitch, M. S. and H. E. Rosvold. 1951. A closed-field intelligence test for rats. Can. J. Psychol. 5:122-128.

Livesey P. J. The rat, rabbit and cat in the Hebb-Williams closed field test of animal intelligence //Australian Journal of Psychology. – 1966. – Т. 18. – №. 1. – С. 71-79.

Кратко описать эксперимент можно следующим образом. Для начала испытуемая кошка обучается проходить тестовые лабиринты (1-6). После того, как кошка привыкает к лабиринту и проходит критерий обучаемости (прохождение всех шести лабиринтов менее чем за 60 секунд) можно предлагать ей пройти тестовые лабиринты. Во всех двенадцати тестовых лабиринтах есть только один правильный путь прохождения. Части лабиринта, которые не ведут к заветной пище являются «ошибочными зонами» и за попадание туда животного, ему начисляются штрафные баллы. Остановки для ориентации в пространстве также учитываются. Полностью компьютеризированные системы оценки вместе с лабиринтами можно приобрести вот здесь (https://www.tse-systems.com/), но мы использовали «ручной» метод сбора данных, т.к. масштаб эксперимента у нас не очень большой.
Чтобы у животного была инициатива к прохождению лабиринта, кошек три дня подвергаются ограничениям в питании. Также всех кошек перед экспериментам содержали по одинаковым правилам на нашей испытательной базе (гараж одного из добрых друзей).
Когда все было готово для экспериментов (май 2018 года) стандартный кейс происходил следующим образом. Испытуемых кошек в составе четырех штук привозили в среду на испытуемую базу. Среду и четверг кошки привыкали к новой обстановке и содержались на ограниченном питании. Начиная с обеда пятницы и по вечер субботы кошек тренировали проходить обучающие лабиринты. В воскресенье происходил замер показателей на тестовых лабиринтах.
Список того, что мы записывали во время наших тестов настолько велик, что приводить его здесь бессмысленно, ведь даже не все данные мы обрабатывали в последствии. (Например, мы записывали величину атмосферного давления, влажность, температуру воздуха.) Но самое главное, что мы делали фотографии тестируемых кошек с пяти разных ракурсов.
На тестирование сорока пяти кошек нам понадобилось три месяца, двадцать шесть семей с кошками и два приюта для животных, которые любезно решили нам помочь. Кошечка «Шапка» смогла набрать достаточно много баллов и была на 5м месте по уровню интеллекта всех протестированных кошек. Мой друг торжествовал.

Нейронная сеть и приложение.


После сбора данных, перед нами стоял сложный вопрос их обработки. Было решено использовать Matlab со встроенным в него Neural Network Toolbox. Одно из преимуществ его использования – возможность сгенерировать код для встраивания нашей нейронной сети в будущее приложение.
После двух недель проб и ошибок в обработке изображений, было решено использовать самоорганизующиеся карты Кохонена (https://en.wikipedia.org/wiki/Self-organizing_map) для того, чтобы соотносить фотографии кошек с количеством баллов, которые они набрали в наших экспериментах. Обучать нейронную сеть было решено на тридцати трех кошках, двенадцать отправились в тестовое множество.
Нам удалось кластеризовать фотографии кошечек на условной карте «IQ» и добиться достаточной сходимости в обучении самоорганизующихся карт уже на двадцатых эпохах обучения. Предварительно конечно пришлось нормировать результаты тестов в лабиринтах на привычную шкалу IQ от 0 до 200 баллов и представить фото кошек в виде кластеров «умных» «средних» и «глупых» котов.
В данный момент готовится подробная статья о том, как нам удалось создать эту нейронную сеть, поэтому если будет интерес к данной статье, мы будем торопиться с новой.

Когда дело дошло до создания приложения, было решено использовать фреймворк Corona SDK, как один из наиболее простых и быстрых освоении. Т.к. никто в нашей команде еще ранее не писал мобильных приложений. Быстрое знакомство с короной, минималистичный дизайн, интеграция нейронной сети, и вуаля - мы публикуемся в гугл плэй и аппстор. Ссылки внизу, проверяйте, на сколько умен Ваш котик. Статью о создании приложения пока писать не планируем, если вам будет интересно – пишите, сделаем.

P.S. Мы прошли большой путь, и решили не публиковать бесплатных версий. Т.к. считаем, что каждый, даже глупый труд должен быть оплачен. Тем более, что стоимость нашего приложения не дороже чашечки кофе в Москве.
https://play.google.com/store/apps/details?id=edu.IQat
Аноним (Microsoft Windows 7: Firefox based) 13/06/19 Чтв 17:20:11 25915372
>>2591455 (OP)
>На тестирование сорока пяти кошек
>удалось создать эту нейронную сеть
>я студент магистратуры
Чему автора в универе точно научили, так это подгонять лабы под результат.

>каждый, даже глупый труд должен быть оплачен
Оплачивай мой труд по прочтению этого высера, реквизиты здесь https://www.fsf.org/about/ways-to-donate/
Аноним (Microsoft Windows 7: Firefox based) 13/06/19 Чтв 21:50:18 25916913
Аноним (Microsoft Windows 7: Firefox based) 13/06/19 Чтв 22:15:57 25917134
>>2591455 (OP)
>сорока пяти кошек
Они хотели сказать "сорока пяти тысяч "?
Аноним (Google Android: Mobile Safari) 14/06/19 Птн 11:25:10 25920275
1560500691295.jpeg (62Кб, 1600x900)
1600x900
> выборка в 45 кошек
> machine learning
Ты охуел?
Аноним (Google Android: Mobile Safari) 14/06/19 Птн 12:52:45 25920776
15558997109230.jpg (171Кб, 665x662)
665x662
Пиздец. Ещё бы сделали детектор наличия брухли по фото сельди. Оп, ты ебнутый? У ебаного человечества нет ни одного математического OCR с поддержкой AMS-TeX, а они айсикью по 46 кошачьим еблетам детектят. Как же у меня с вас зумеров жопа горит
Аноним (Microsoft Windows 10: Firefox based) 14/06/19 Птн 14:26:41 25921447
Дайте угадаю, эта штука угадывает одну из 45 пород кошки и из базы берет средный ICQ для породы.
Аноним (Microsoft Windows 10: Chromium based) 15/06/19 Суб 21:44:38 25931998
>>2592077
>детектор наличия брухли по фото сельди
я бы купил
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов