Найти в Дзене
Властелин машин

Инструмент для построения нейросетей в несколько строк

Оглавление

Если TensorFlow лучшая библиотека построения нейросетей любой сложности, то этот ее модуль добавляет высокоуровневые инструменты, которые делают эту работу всего в несколько строк.

Это Keras, который распространяется как в составе TensorFlow, так и в виде отдельной библиотеки (однако все равно требует установки низкоуровневых библиотек для работы с нейросетями).

Рассмотрим способ создания моделей, состоящих из нейронов, где выход каждого направляется во все нейроны из последующего слоя (полносвязные слои - Dense):

-2

Определим последовательную модель (то есть очередной слой добавляется поверх предыдущего без разветвлений) с набором полносвязных слоев:

-3

В скобках конструктора Dense указано количество нейронов в каждом слое. Выведем результат воздействия нейронной сети на вход x:

-4

Слои и веса

Обращение к свойству нейросети layers приводит к выводу списка слоев:

-5

Для каждого слоя либо всей нейросети можно вывести список переменных и весов посредством обращения к свойствам weights или variables:

-6
-7
-8

Следует отметить, что в данном примере веса нейросети инициализируются после первого вызова, так как для этого ей нужно знать форму своего входа. Соответственно, обращение до этого этапа к указанным свойствам приведет к ошибке:

...
...
-10

Альтернативным путем является либо задание условного слоя Input модели, в котором и указывается форма входа, либо определение соответствующего параметра в первом слое:

-11
-12

Входы и выходы слоев

Каждый слой в свойствах input и output хранит входы и выходы на определенных данных. Аналогично у моделей есть параметры, устанавливающие их входы и выходы - inputs и outputs. Вот как можно определить новую модель, имеющую входы как у ранее определенной nn, а выходы - список выходов слоев модели nn:

-13

Посмотрим, что выдает модель на наших данных:

-14

Для сравнения:

-15

Описание

Вы также можете вызвать описание модели путем обращения к методу summary. Во избежание ошибки это следует делать либо после первого вызова модели на данных либо с условием указания размеров входа:

-16

В первом слое параметров - 9 в матрице kernel (3x3) и 3 в члене смещения bias (смотри на рисунке выше), и 8 во втором слое.

Наука
7 млн интересуются