Модель обучения с ранним прерыванием
Используется для указания местоположения лучшей сохранённой модели во время процесса обучения:
Включает следующие пункты:
//Conduct early stopping training:
EarlyStoppingResult result = trainer.fit();
System.out.println("Termination reason: " + result.getTerminationReason());
System.out.println("Termination details: " + result.getTerminationDetails());
System.out.println("Total epochs: " + result.getTotalEpochs());
System.out.println("Best epoch number: " + result.getBestModelEpoch());
System.out.println("Score at best epoch: " + result.getBestModelScore());
//Print score vs. epoch
Map<Integer,Double> scoreVsEpoch = result.getScoreVsEpoch();
List<Integer> list = new ArrayList<>(scoreVsEpoch.keySet());
Collections.sort(list);
System.out.println("Score vs. Epoch:");
for( Integer i : list){
System.out.println(i + "\t" + scoreVsEpoch.get(i));
}
Перенос обучения
// 构造数据模型
ZooModel zooModel = VGG16.builder().build();
ComputationGraph vgg16 = (ComputationGraph) zooModel.initPretrained();
FineTuneConfiguration fineTuneConf = new FineTuneConfiguration.Builder()
.updater(new Nesterovs(0.1, 0.9))
.seed(123)
.build();
3.1 setFeatureExtractor — используется для определения слоя ниже которого слои не замораживаются.
3.2 Структурные изменения:
Создание собственного слоя GRU
На основе формулы прямого распространения GRU выводится формула обратного распространения и реализуется в dl4j.
Интеграция модели обучения DL4J с веб-приложением
Для интеграции модели обучения Deep Learning for Java (DL4J) с веб-проектом можно использовать следующие ресурсы:
Глубокое обучение: коррекция изображений, YOLO и Tesseract OCR
Видеоматериалы доступны по адресу: https://tianchi.aliyun.com/forum/videoStream.html#postsId=5312, а исходный код видео находится на GitHub: https://github.com/awaymeet/tesseract.
Распознавание лиц
Ресурсы для распознавания лиц:
Параметры совместного использования
StackVertex используется для совместного использования параметров. Математическое доказательство доступно в статье «DeepLearning4j's StackVertex реализует совместное использование параметров» (https://blog.csdn.net/pangerry/article/details/90814970).
MergeVertex похож на StackVertex, но отличается способом объединения: Merge объединяет вдоль dimension=1, а Stack — вдоль dimension=0. Объединение вдоль dimension=0 имеет преимущество в том, что независимо от длины первого измерения, форма весов не изменяется, и при обратном вычислении градиента она равна сумме градиентов, полученных от всех входных данных. Поэтому достаточно использовать StackVertex для объединения нескольких входов, затем добавить произвольные слои нейронной сети, такие как DenseLayer, LSTM и ConvLayer, и, наконец, использовать UnstackVertex для разделения выходных данных.
Математическое обоснование совместного использования параметров с помощью StackVertex представлено в статье, предоставленной @Gerry. Оно объясняет, почему StackVertex может реализовать совместное использование параметров только путём объединения.
Конкурс Tianchi — прогноз промышленного парового объёма
Информация о конкурсе доступна по ссылке: https://tianchi.aliyun.com/competition/entrance/231693/introduction?spm=5176.12281949.1003.9.493e4c2apzwdri.
Предыстория
Основной принцип работы электростанции заключается в нагреве воды за счёт сжигания топлива, что приводит к образованию пара высокого давления и температуры. Этот пар используется для вращения паровой турбины, которая, в свою очередь, приводит в движение генератор, вырабатывающий электроэнергию. В этом процессе ключевым фактором, влияющим на эффективность выработки электроэнергии, является эффективность сгорания в котле, определяемая такими параметрами, как расход топлива, первичный и вторичный воздух, дутьё, возврат и подача воды. Также на эффективность котла влияют его рабочие условия, такие как температура и давление в топке, температура перегревателя и давление.
Цель
Используя данные датчиков из предварительно обработанного котла, предсказать объём производимого пара.
Рекомендательная система
Рекомендации основаны на следующих ресурсах:
Ссылки:
GAN
Создание собственного поискового ИИ-движка для изображений
Участник группы @射水鱼 написал книгу «Создание собственного поискового ИИ-двигалка для изображений» с использованием DeepLearning4j. В книге подробно рассказывается о принципах и реализации основных компонентов поисковых систем для изображений, а также приводится пошаговое руководство по созданию веб-поисковика для изображений на основе глубокого обучения. Каждая глава содержит описание соответствующих теорий и методов, а также примеры кода на Java с подробными комментариями.
Книга доступна по адресу https://www.epubit.com/book/detail/30316, исходный код — по адресу https://box.lenovo.com/l/LHh2vR (пароль: 1aaa).
Если в проекте отсутствуют зависимости, загрузите следующие jar-файлы:
— TarsosLSH-0.9 доступен для скачивания по ссылке https://pan.baidu.com/s/1sbmvbkab6K5tRF92U-ItHw (код извлечения: 88qv). — Также можно скачать TarsosLSH с GitHub и скомпилировать самостоятельно.
Для локального импорта jar-файлов используйте область видимости system или установите их в локальном репозитории Maven с помощью команды:
mvn install:install-file -Dfile=/path/to/jar -DgroupId=be.tarsos -DartifactId=TarsosLSH -Dversion=0.9 -Dpackaging=jar
Усиленное обучение RL4j
Источники:
Открытые проекты Deeplearning4j
Получение последних версий Deeplearning4j (Snapshots And Daily Builds)
Источники:
Настройка файла pom.xml:
<repositories>
<repository>
<id>snapshots-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy> <!-- Optional, update daily -->
</snapshots>
</repository>
</repositories>
Автоматическое получение обновлений компиляции jar-пакетов от skymind.
ok, so there's 2 ways
(a) use SparkContext.parallelize (that's a standard spark op) - easy but bad performance (all preprocessing happens on master)
(b) write a better data pipeline that does the proper reading + conversion in parallel
Извлечение и обучение на основе dl4j для быстрого получения трёх результатов: https://github.com/awaymeet/lottery_kuai_san/tree/master.
Открытый проект по изучению SpringCloud, Deeplaring4j и IBM Watson: https://github.com/JamesZow/Spring-Cloud-Project.
Демо-версия OCR на основе CNN+RNN+CTC: https://github.com/WuWei1986/dl4j-ocr-demo.
Зародыш фреймворка нейронной сети с полным соединением слоёв: https://github.com/woshiyigebing/my_dl4j. # Дополнительные ресурсы
Сборник высококачественных наборов данных для машинного обучения.
GitXiv: только статьи с открытым исходным кодом, который можно воспроизвести.
Papers with code — статьи и коды.
Hadoop-winutils — предоставляет файлы hadoop.dll и winutils.exe для работы с Hadoop на платформе Windows. Это упрощает запуск Spark-local в Windows.
Tablesaw — библиотека Java для работы с фреймами данных и визуализации. Предоставляет функции, аналогичные Pandas и Matplot в Python.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )