BitNeBolt
@BitNeBolt

Как с этим разобраться?

Только недавно начал заниматься нейросетями. В целях обучения хочу написать её с нуля, без фреймфорков. Но не понимаю следующие моменты: Результат обучения должен куда-то записываться(не быть же ему в оперативке), но какой тип данных и вид записи должен быть у этого файла? А как потом обращаться к этим результатам(не пробегом же по всему файлу каждый раз, если там больше 3000 строк)? И как должна вести себя сеть, если ввелись данные, которых не было при обучении?
  • Вопрос задан
  • 66 просмотров
Решения вопроса 2
origami1024
@origami1024
went out for a night walk
но какой тип данных и вид записи должен быть у этого файла

Нужно записать/загрузить только значения весов между нейронами - результат обучения.
Ну и сам код твоей программы содержит все глобальные параметры сети: как располагаются и ведут себя нейроны, сколько их и тп.

А как потом обращаться к этим результатам(не пробегом же по всему файлу каждый раз, если там больше 3000 строк)

Все весы и другие параметры должны находиться в оперативке, и читаться и перезаписываться каждую итерацию обучения.
Вот, например, репликация обученной Alexnet (прорывная модель сети из 2012),
https://github.com/BVLC/caffe/tree/master/models/b...
233мб.
В Alexnet 62 миллиона параметров, 650 тыс нейронов, и чтобы ее обучить столько же эпох как в оригинальной статье, нужно потратить 5-6 дней на двух GTX 580 3GB видеокартах (Хотя современный рекорд на более быстром оборудовании и оптимизированном коде - 24 минуты).

И как должна вести себя сеть, если ввелись данные, которых не было при обучении?

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы