Когнитивная робототехника делится на три основных направления: собственно создание и разработка программ для обучающихся роботов, когнитивная робототехника и коллаборативная.
Раньше, для детектирования объектов на изображении, применялся метод скользящего окна — когда прямоугольная область определённой ширины и высоты, перемещается («скользит») по изображению:
Такой подход очень просто реализуется кодом вида:
На TensorFlow Dev Summit 2017 представлены интересные результаты работы и использования TensorFlow (open-source библиотека для машинного обучения от компании Google).
TensorFlow в медицине — диагностика диабета по фотографии сетчатки
Выявление диабетической ретинопатии по фотографии сетчатки.
Разработчик Hiroki Nakayama написал на Python-е программу Boss Sensor, которая получает картинку с камеры, обнаруживает лицо (при помощи OpenCV) и использует искусственную нейронную сеть (свёрточная нейронная сеть, созданная при помощи Keras поверх TensorFlow), которая распознаёт лицо начальника и при его приближении автоматически прячет все окна на рабочем столе и выводит на экран пользователя заданную картинку.
Японец решил помочь своим родителям в сортировке огурцов, согласно принятым в Японии 9 классам (согласно форме, размеру и т.п.).
Для этого, он использовал Arduino Micro, Raspberry Pi 3 и open-source разработку от Google — TensorFlow.
Raspberry Pi, используется для работы с камерой и отсылки изображений в Google Cloud, где происходил анализ информации, а контроллер Arduino управляет выполнением сортировщики (при помощи сервоприводов).
23 июня 2015 года, компания Google опубликовала исследование в котором представлена модель ИИ, построенная на моделировании разговора.
модель поддерживает разговор, предсказывая следующее предложение по содержанию одного или всех предыдущих предложений разговора.
Для обучения ИИ на базе рекуррентной нейронной сети (seq2seq), разработчики Google использовали два вида данных:
1. из конкретной области знаний ( использовались переговоры службы техподдержки),
2. данные из более широкой и общей сферы (субтитры к фильмам — OpenSubtitles dataset).
В работе приведены впечатляющие диалоги человек-машина на разные темы.
Самые интересные вопросы-ответы, разумеется, относятся к философским вопросам:
k-means (метод k-средних) — метод кластеризации, стремящийся минимизировать суммарное квадратичное отклонение точек кластеров от центров этих кластеров.
Кластеризация — задача машинного обучения, состоящая в разбиении заданной выборки объектов (данных) на непересекающиеся подмножества/группы (кластеры) на основе близости их признаков/значений. Т.о., каждый кластер состоит из схожих объектов.
Кластеризация позволяет:
* лучше понять данные (выявив структурные группы),
* компактное хранение данных,
* выявление новых объектов.
В OpenCV, алгоритм k-means реализован в cxcore, т.к. он был реализован задолго до появления библиотеки ML.
K-means пытается найти кластеры в наборе данных.
Это реализуется функцией cvKMeans2().