На TensorFlow Dev Summit 2017 представлены интересные результаты работы и использования TensorFlow (open-source библиотека для машинного обучения от компании Google).
TensorFlow в медицине — диагностика диабета по фотографии сетчатки
Выявление диабетической ретинопатии по фотографии сетчатки.
Обучающая выборка — 130 тыс. изображений (от 54 офтальмологов).
Используемая сеть — свёрточная нейронная сеть из 26 слоёв (Inception).
докладчик назвала её trusty dusty — надежная пыльная.
F-мера (F-score) — 0.95 (у среднего офтальмолога — 0.91).
Докладчик обозначила плюсы использования TensorFlow:
— быстрый старт,
— наличие предтренированных моделей (ImageNet)
— быстрое обучение с использованием GPU позволяет быстро проводить различные эксперименты,
— позволяет реинвестировать усилия на поиск правильной задачи, получение правильных данных/меток.
Классификация рака кожи
Обучающая выборка — 129 тыс. изображений.
Используемая сеть — Inception-V3.
Качество распознавания — лучше чем средний дерматолог.
Может работать на обычном мобильном телефоне.
TensorFlow на мобильных платформах и встраиваемых системах
О работе и использовании TensorFlow на мобильных (Android, iOS) и встраиваемых системах — Raspberry Pi.
Для использования на Raspberry Pi — рекомендуют не использовать кросс-компиляцию, а собирать прямо на малинке (потребуется g++4.8 (!)).
Со сборкой проекта с использованием TensorFlow есть нюансы — обязательно указывать определённые параметры при сборке (—whole-archive).
Интересен момент с конвертацией модели ИНС и квантованием весовых коэффициентов (Quanize weight), для уменьшения требуемого объёма памяти.
Также, использование только требуемых операций библиотеки TensorFlow позволяет уменьшить размеры используемого модуля.
TensorFlow — open-source библиотека для машинного обучения от компании Google. Была представлена 9 ноября 2015 года.
Код системы написан на языках С++ и Python и распространяется под лицензией Apache.
TensorFlow предоставляет библиотеку готовых алгоритмов численных вычислений, которые реализованы через графы потоков данных (data flow graphs), где:
узлы графа — реализуют математические операции или точки входа/вывода,
рёбра графа — представляют многомерные массивы данных (тензоры), передающиеся между узлами.
Причём, узлы могут быть закреплены за разными вычислительными устройствами и выполняться асинхронно, параллельно обрабатывая все приходящие тензоры.
Ссылки
TensorFlow Dev Summit 2017
TensorFlow
TensorFlow
TensorFlow: машинное обучение от Google, теперь – умнее и для всех
Hello, TensorFlow. Библиотека машинного обучения от Google
https://github.com/tensorflow/tensorflow
http://playground.tensorflow.org
По теме
Программа с нейросетью для закрывания окон на компьютере при приближении начальника
Сортировщик огурцов на Arduino, Raspberry Pi 3 и TensorFlow
Нейронная сеть — введение
Принцип обучения многослойной нейронной сети с помощью алгоритма обратного распространения
Пример работы самоорганизующейся инкрементной нейронной сети SOINN