On January 22, 2025, a meeting of the members of the editorial board and editorial board of the journals “Applied Aspects of Information Technology” and “Herald of Advanced Information Technology” was held (Read more)

DP: A lightweight library for teaching differentiable programming

Authors

DOI:

https://doi.org/10.15276/aait.04.2019.3

Keywords:

Differentiable Programming, Deep Learning, Teaching, Automatic Differentiation

Abstract

Deep Learning (DL) 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.

Downloads

Download data is not yet available.

Author Biographies

Christian Herta, HTW Berlin – University of Applied Sciences, Wilhelminenhofstr, 75a, Berlin, Germany, 12459

Doctor Rerum Naturalium, Professor, Faculty 4 – Computer Science

Klaus Strohmenger, HTW Berlin – University of Applied Sciences, Wilhelminenhofstr, 75a, Berlin, Germany, 12459

Master of Science, Scientific Research Assistant, Faculty 4 – Computer Science

Oliver Fischer, HTW Berlin – University of Applied Sciences, Wilhelminenhofstr, 75a, Berlin, Germany, 12459

Master of Science, Scientific Research Assistant, Faculty 4 - Computer Science

Diyar Oktay, HTW Berlin – University of Applied Sciences, Wilhelminenhofstr, 75a, Berlin, Germany, 12459

Student, Faculty 4 – Computer Science

Downloads

Published

2019-12-24

How to Cite

[1]
Herta C., Strohmenger K., Fischer O.., Oktay D. “DP: A lightweight library for teaching differentiable programming ”. Applied Aspects of Information Technology. 2019; Vol. 2, No. 4: 283-294. DOI:https://doi.org/10.15276/aait.04.2019.3.