Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
запустить алгоритм CAM с помощью того же кода и в браузере со вполне приемле
мым быстродействием.
В этой главе мы обсуждали два вопроса: визуализацию данных до попадания их
в модель машинного обучения и визуализацию модели после ее обучения. Мы умыш
ленно опустили важный промежуточный этап — визуализацию модели
во время
ее
обучения. Этому посвящена следующая глава. Мы выделили этот вопрос в отдель
ную главу потому, что он тесно связан с понятиями и явлениями недообучения
и переобучения, критически важными для всех задач обучения с учителем, а потому
заслуживающими отдельного обсуждения. Визуализация значительно упрощает
обнаружение и исправление недообучения и переобучения. В следующей главе мы
вновь обратимся к библиотеке tfjsvis, с которой познакомили вас в начале текущей
главы, и покажем, чем она может помочь в демонстрации хода процесса обучения
модели, помимо обсуждавшихся ее возможностей визуализации данных.
Материалы для дальнейшего изучения
z
z
Ribeiro M. T., Singh S., Guestrin C.
Why Should I Trust You? Explaining the Pre
dictions of Any Classifier. 2016. https://arxiv.org/pdf/1602.04938.pdf.
z
z
Во фреймворке TensorSpace (
tensorspace.org
) — надстройке над TensorFlow.js,
three.js
и
tween.js
— для визуализации топологии и внутренних активаций
сверточных сетей в браузере используется трехмерная компьютерная графика.
z
z
Библиотека tSNE TensorFlow.js (
https://github.com/tensorflow/tfjs-tsne
) представляет
собой основанную на WebGL эффективную реализацию алгоритма стохастиче
ских вложений соседей на основе распределения Стьюдента. С ее помощью мож
но визуализировать многомерные наборы данных путем проекции их в двумерное
пространство с сохранением важных структур данных.
Упражнения
1. Поэкспериментируйте со следующими возможностями функции
tfjs.vis.line-
chart()
.
А. Модифицируйте код из листинга 7.2 и посмотрите, что получится при постро
ении графиков двух рядов данных с различными наборами значений коорди
наты
x
. Например, попробуйте взять для первого ряда данных значения 1, 3,
5 и 7 координаты
x
, а для второго — 2, 4, 6 и 8. Можете создать ветку блокнота
CodePen, расположенного по адресу
https://codepen.io/tfjs-book/pen/BvzMZr
.
Б. Все линейные диаграммы в примере CodePen созданы на основе рядов дан
ных, у которых значения по оси
X
не дублируются. Выясните, как функция
linechart()
работает с точками данных, у которых значения по оси
X
совпа
дают. Например, включите в ряд данных две точки данных со значением 0 по
оси
X
, но различными значениями по оси
Y
(например, –5 и 5).
Do'stlaringiz bilan baham: |