Показать сокращенную информацию
dc.contributor.author | Christian Herta | |
dc.contributor.author | Крістіан Херста | |
dc.contributor.author | Кристиан Херста | |
dc.contributor.author | Klaus Strohmenger | |
dc.contributor.author | Клаус Штоменгер | |
dc.contributor.author | Oliver Fischer | |
dc.contributor.author | Олівер Фішер | |
dc.contributor.author | Оливер Фишер | |
dc.contributor.author | Diyar Oktay | |
dc.contributor.author | Дівар Октай | |
dc.contributor.author | Дивар Октай | |
dc.date.accessioned | 2020-04-14T11:41:27Z | |
dc.date.available | 2020-04-14T11:41:27Z | |
dc.date.issued | 2019-09-01 | |
dc.identifier.citation | Christian Herta, Klaus Strohmenger, Oliver Fischer, Diyar Oktay. (2019). DP: a Lightweight Library for Teaching Differentiable Programming. Applied Aspects of Information Technology, Vol. 2, N 4, p. 283–294. | en |
dc.identifier.citation | DP: a Lightweight Library for Teaching Differentiable Programming / Christian Herta, Klaus Strohmenger, Oliver Fischer, Diyar Oktay // Applied Aspects of Information Technology = Прикладні аспекти інформ. технологій. – Оdesa, 2019. – Vol. 2, N 4. – P. 283–294. | en |
dc.identifier.issn | 2617-4316 | |
dc.identifier.issn | 2663-7723 | |
dc.identifier.uri | http://dspace.opu.ua/jspui/handle/123456789/10435 | |
dc.description.abstract | Deep Learning has recently gained a lot of interest, as nowadays, many practical applications rely on it. Typically, these applications are implemented with the help of special deep learning libraries, which inner implementations are hard to understand. We developed such a library in a lightweight way with a focus on teaching. Our library DP (differentiable programming) has the following properties which fit particular requirements for education: small code base, simple concepts, and stable Application Programming Interface (API). Its core use case is to teach how deep learning libraries work in principle. The library is divided into two layers. The low-level part allows programmatically building a computational graph based on elementary operations. In machine learning, the computational graph is typically the cost function including a machine learning model, e.g. a neural network. Built-in reverse mode automatic differentiation on the computational graph allows the training of machine learning models. This is done by optimization algorithms, such as stochastic gradient descent. These algorithms use the derivatives to minimize the cost by adapting the parameters of the model. In the case of neural networks, the parameters are the neuron weights. The higher-level part of the library eases the implementation of neural networks by providing larger building blocks, such as neuron layers and helper functions, e.g., implementation of the optimization algorithms (optimizers) for training neural networks. Accompanied to the library, we provide exercises to learn the underlying principles of deep learning libraries and fundamentals of neural networks. An additional benefit of the library is that the exercises and corresponding programming assignments based on it do not need to be permanently refactored because of its stable API. | en |
dc.description.abstract | Технології глибокого навчання викликають великий інтерес, так як в даний час на ньому базується велика кількість прикладних додатків. Як правило, ці програми реалізуються за допомогою спеціальних бібліотек глибокого навчання, внутрішню реалізацію яких важко зрозуміти. Ми розробили таку бібліотеку в полегшеному вигляді з упором на викладання відповідних дисциплін. Наша бібліотека має наступні характеристики, які відповідають певним вимогам з урахуванням специфіки навчального процесу: невелика кодова база, прості концепції і стабільний інтерфейс прикладного програмування (API). Основне призначення бібліотеки - допомога у володінні принципами роботи з бібліотеками глибокого навчання. Бібліотека розділена на два шари. Низькорівнева частина дозволяє програмно побудувати обчислювальний графік на основі елементарних операцій. У машинному навчанні обчислювальний графік зазвичай є функцією вартості, що включає в себе модель машинного навчання, наприклад, нейронну мережу. Вбудований зворотний режим автоматичного диференціювання на обчислювальному графіку дозволяє навчати моделі машинного навчання. Це робиться за допомогою алгоритмів оптимізації, таких як стохастичний градієнтний спуск. Ці алгоритми використовують похідні, щоб мінімізувати вартість шляхом адаптації параметрів моделі. У разі нейронних мереж параметри є вагами нейронних мереж. Частина бібліотеки вищого рівня полегшує реалізацію нейронних мереж, надаючи більші будівельні блоки, такі як нейронні шари і допоміжні функції, наприклад, реалізацію алгоритмів оптимізації (оптимізаторів) для навчання нейронних мереж. Також до бібліотеки ми додаємо вправи для вивчення основних принципів роботи бібліотеки глибокого навчання і основ нейронних мереж. Додатковою перевагою бібліотеки є те, що вправи і відповідні програмні завдання на її основі не потребують постійного рефакторінгу через її стабільного API. | en |
dc.description.abstract | Технологии Глубокого обучения вызывают большой интерес, так как в настоящее время на нем базируются многие практические приложения. Как правило, эти приложения реализуются с помощью специальных библиотек глубокого обучения, внутреннюю реализацию которых трудно понять. Мы разработали библиотеку глубокого обучения в облегченном виде с упором на преподавание. Наша библиотека имеет следующие характеристики, которые соответствуют определенным требованиям с учетом специфики учебного процесса: небольшая кодовая база, простые концепции и стабильный интерфейс прикладного программирования (API). Основное назначение этой библиотеки - обучение принципам глубокого обучения. Библиотека разделена на два слоя. Низкоуровневая часть позволяет программно построить вычислительный график на основе элементарных операций. В машинном обучении вычислительный график обычно является функцией стоимости, включающей в себя модель машинного обучения, например, нейронную сеть. Встроенный обратный режим автоматического дифференцирования на вычислительном графике позволяет обучать модели машинного обучения. Это делается с помощью алгоритмов оптимизации, таких как стохастический градиентный спуск. Эти алгоритмы используют производные, чтобы минимизировать стоимость путем адаптации параметров модели. В случае нейронных сетей параметры являются нейронными весами. Часть библиотеки более высокого уровня облегчает реализацию нейронных сетей, предоставляя более крупные строительные блоки, такие как нейронные слои и вспомогательные функции, например, реализацию алгоритмов оптимизации (оптимизаторов) для обучения нейронных сетей. В дополнение к библиотеке мы предоставляем упражнения для изучения основополагающих принципов работы библиотеки глубокого обучения и основ нейронных сетей. Дополнительным преимуществом библиотеки является то, что упражнения и соответствующие программные задания на ее основе не нуждаются в постоянном рефакторинге из-за ее стабильного API. | en |
dc.language.iso | en | en |
dc.publisher | Odessa National Polytechnic University | en |
dc.subject | Differentiable Programming; | en |
dc.subject | Deep Learning; | en |
dc.subject | Teaching; | en |
dc.subject | Automatic Differentiation | en |
dc.subject | диференційоване програмування; | en |
dc.subject | глибоке навчання; | en |
dc.subject | навчання; | en |
dc.subject | автоматичне диференціювання | en |
dc.subject | дифференцируемое программирование; | en |
dc.subject | глубокое обучение; | en |
dc.subject | автоматическое дифференцирование | en |
dc.title | DP: a Lightweight Library for Teaching Differentiable Programming | en |
dc.title.alternative | DP: полегшена бібліотека для навчання дифференційному програмуванню | en |
dc.title.alternative | DP: облегченная библиотека для обучения дифференцируемому программированию | en |
dc.type | Article | en |
opu.citation.journal | Applied Aspects of Information Technology | en |
opu.citation.volume | 4 | en |
opu.citation.firstpage | 283 | en |
opu.citation.lastpage | 294 | en |
opu.citation.issue | 2 | en |