Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
2. Созданная для анализа тональностей IMDb одномерная сверточная сеть состоя
ла всего из одного слоя conv1d (см. листинг 9.8). Как мы обсуждали, добавление
поверх него дополнительных слоев conv1d дает более глубокую одномерную
сверточную сеть, способную захватывать информацию об упорядоченности на
б
о
льших диапазонах слов. В этом упражнении вам предстоит модифицировать
код функции
buildModel()
из файла
sentiment/train.js
. Задача: добавить по
верх уже существующего еще один слой conv1d, заново обучить модель и посмо
треть, повысится ли степень безошибочности классификации. Число фильтров
и размер ядра нового слоя можно взять такие же, как у уже существующего.
Взгляните также на формы выходных сигналов в сводке топологии модифи
цированной модели и убедитесь, что понимаете, почему подобные параметры
filters
и
kernelSize
обусловливают такую форму выходного тензора нового
слоя conv1d.
3. Попробуйте добавить в пример dateconversionattention несколько дополни
тельных входных форматов дат. Можете выбрать новые форматы из приведен
ных далее, отсортированных в порядке возрастания сложности написания кода.
А можете придумать собственные форматы дат.
• Формат YYYYMMMDD, например,
"2012-MAR-08"
или
"2012-MAR-18"
.
В зависимости от того, дополняются ли спереди нулем обозначаемые од
ной цифрой дни месяца (как в 12/03/2015), он может представлять собой
два различных формата. Впрочем, независимо от дополнения максималь
ная длина этого формата меньше 12, а все возможные символы уже входят
в словарь
INPUT_VOCAB
в файле
date-conversion-attention/date_format.js
.
Следовательно, достаточно добавить функцию или две в этот файл, как в уже
существующих, например,
dateTupleToMMMSpaceDDSpaceYY()
. Не забудьте
добавить новую (ые) функцию (и) в массив
INPUT_FNS
в файле, чтобы
включить их в процесс обучения. Рекомендуем также добавлять модульные
тесты для новых функций форматирования дат в файл
date-conversion-
attention/date_format_test.js
.
• Формат, в котором день месяца обозначается порядковым числительным,
например Mar 8th, 2012. Это тот же формат, что и уже существующий
da-
teTupleToMMMSpaceDDCommaSpaceYYYY()
, только ко дням месяца добавляются
порядковые суффиксы (
"st"
,
"nd"
и
"th"
). Ваша новая функция должна
определять суффикс по значению дня. Кроме того, вам нужно пересмотреть
значение константы
INPUT_LENGTH
из файла
date_format_test.js
в б
ó
льшую
сторону, поскольку максимально возможная длина строки даты в этом
формате превышает текущее значение, равное 12. Помимо этого, необходимо
добавить в словарь буквы
"t"
и
"h"
, которые не встречаются в трехбуквенных
названиях месяцев.
• Возьмем теперь формат с полным английским названием месяца наподобие
March 8th, 2012. Какова максимально возможная длина входной строки
с датой? Какие соответствующие изменения необходимо внести в словарь
INPUT_VOCAB
из файла
date_format.js
?
Do'stlaringiz bilan baham: |