Определение породы собаки
Оказывается, специалисты по машинному обучению, любят тренироваться распознавать породы собак. Часто они так и учатся, а на kaggle.com вы найдете множество различных решений. Мы с вами возьмем четыре из них, и посмотрим получившиеся результаты - насколько хорошо искусственный интеллект распознает породы собак.
Для нашего практического эксперимента, мы обучили три модели (1,2,3), а одну, уже обученную, скачали (4) и сразу стали использовать.
Модели нейронных сетей, использованных в эксперименте
1. InceptionV3 (также известная как GoogleNet v3), 2015
Краткое описание. Глубокая нейронная сеть для классификации изображений, разработанная Google Research.
InceptionV3 имеет более глубокую архитектуру по сравнению с предыдущими версиями, что позволяет извлекать более абстрактные и сложные характеристики изображения.
Датасет для обучения. 70-dog-breedsimage-data-set - 9346 изображений, 70 пород собак. Датасет подготовлен владельцем бизнеса по уходу за собаками.
Afghan, African Wild Dog, Airedale, American Hairless, American Spaniel, Basenji, Basset, Beagle, Bearded Collie, Bermaise, Bichon Frise, Blenheim, Bloodhound, Bluetick, Border Collie, Borzoi, Boston Terrier, Boxer, Bull Mastiff, Bull Terrier, Bulldog, Cairn, Chihuahua, Chinese Crested, Chow, Clumber, Cockapoo, Cocker, Collie, Corgi, Coyote, Dalmation, Dhole, Dingo, Doberman, Elk Hound, French Bulldog, German Sheperd, Golden Retriever, Great Dane, Great Perenees, Greyhound, Groenendael, Irish Spaniel, Irish Wolfhound, Japanese Spaniel, Komondor, Labradoodle, Labrador, Lhasa, Malinois, Maltese, Mex Hairless, Newfoundland, Pekinese, Pit Bull, Pomeranian, Poodle, Pug, Rhodesian, Rottweiler, Saint Bernard, Schnauzer, Scotch Terrier, Shar_Pei, Shiba Inu, Shih-Tzu, Siberian Husky, Vizsla, Yorkie.
2. MobileNetV2, 2018
Краткое описание. Архитектура сверточной нейронной сети, разработанная с целью достижения высокой производительности на мобильных и встраиваемых устройствах с ограниченными вычислительными ресурсами.
Датасет для обучения. Stanford Dogs Dataset, версия к конкурсу - 20580 изображений, 120 пород собак.
affenpinscher, afghan_hound, african_hunting_dog, airedale, american_staffordshire_terrier, appenzeller, australian_terrier, basenji, basset, beagle, bedlington_terrier, bernese_mountain_dog, black-and-tan_coonhound, blenheim_spaniel, bloodhound, bluetick, border_collie, border_terrier, borzoi, boston_bull, bouvier_des_flandres, boxer, brabancon_griffon, briard, brittany_spaniel, bull_mastiff, cairn, cardigan, chesapeake_bay_retriever, chihuahua, chow, clumber, cocker_spaniel, collie, curly-coated_retriever, dandie_dinmont, dhole, dingo, doberman, english_foxhound, english_setter, english_springer, entlebucher, eskimo_dog, flat-coated_retriever, french_bulldog, german_shepherd, german_short-haired_pointer, giant_schnauzer, golden_retriever, gordon_setter, great_dane, great_pyrenees, greater_swiss_mountain_dog, groenendael, ibizan_hound, irish_setter, irish_terrier, irish_water_spaniel, irish_wolfhound, italian_greyhound, japanese_spaniel, keeshond, kelpie, kerry_blue_terrier, komondor, kuvasz, labrador_retriever, lakeland_terrier, leonberg, lhasa, malamute, malinois, maltese_dog, mexican_hairless, miniature_pinscher, miniature_poodle, miniature_schnauzer, newfoundland, norfolk_terrier, norwegian_elkhound, norwich_terrier, old_english_sheepdog, otterhound, papillon, pekinese, pembroke, pomeranian, pug, redbone, rhodesian_ridgeback, rottweiler, saint_bernard, saluki, samoyed, schipperke, scotch_terrier, scottish_deerhound, sealyham_terrier, shetland_sheepdog, shih-tzu, siberian_husky, silky_terrier, soft-coated_wheaten_terrier, staffordshire_bullterrier, standard_poodle, standard_schnauzer, sussex_spaniel, tibetan_mastiff, tibetan_terrier, toy_poodle, toy_terrier, vizsla, walker_hound, weimaraner, welsh_springer_spaniel, west_highland_white_terrier, whippet, wire-haired_fox_terrier, yorkshire_terrier.
3. InceptionV3 + Xception + InceptionResNetV2 + NASNetLarge
Краткое описание. Использование моделей вместе позволяет объединить их сильные стороны и извлечь лучшие признаки для обработки изображения.
InceptionV3, 2015. - описание выше.
Xception, 2016. Разновидность сверточной нейронной сети, в которой используются depthwise separable convolutions. Этот подход позволяет уменьшить количество параметров и вычислительную сложность сети, сохраняя при этом хорошую эффективность.
InceptionResNetV2, 2017. Модель объединяет преимущества Inception и ResNet, используя блоки ResNet для более глубокой архитектуры и лучшей стабильности обучения.
NASNetLarge, 2018. Архитектура сверточной нейронной сети, разработанная с использованием автоматического поиска архитектур (Neural Architecture Search, NAS). NASNetLarge обладает высокой эффективностью и способностью к обобщению на разные задачи.
Датасет для обучения. Stanford Dogs Dataset, версия к конкурсу - 20580 изображений, 120 пород собак.
4. Vision Transformer (ViT), 2020
Краткое описание. Модель от Google использует принципы трансформеров для обработки изображений, разбивая изображение на патчи и обрабатывая их трансформерными блоками. Достигла хороших результатов на задачах классификации.
ViT использует механизмы внимания (self-attention) для анализа взаимосвязей между различными частями изображения, не зависимо от их расположения на изображении. Это позволяет ViT эффективно обрабатывать как центральные, так и периферийные области изображения.
Датасет для обучения. Stanford Dogs Dataset - 20580 изображений, 120 пород собак.
Беглый взгляд на датасеты для обучения показывает, что отсутствуют такие популярные породы как классический Бультерьер, Кане-Корсо, Далматин, Джек-рассел-терьер. Видно в Стэнфорде не смотрели фильм "Маска", или они что-то знают. Будем надеется, что кто-нибудь на радость всем сделает когда-нибудь в перспективе более совершенный датасет братьев наших меньших.