Classic algorithms and machine learning systems like neural networks are both abundant in everyday life. While classic computer science algorithms are suitable for precise execution of exactly defined tasks such as finding the shortest path in a large graph, neural networks allow learning from data to predict the most likely answer in more complex tasks such as image classification, which cannot be reduced to an exact algorithm. To get the best of both worlds, this thesis explores combining both concepts leading to more robust, better performing, more interpretable, more computationally efficient, and more data efficient architectures. The thesis formalizes the idea of algorithmic supervision, which allows a neural network to learn from or in conjunction with an algorithm. When integrating an algorithm into a neural architecture, it is important that the algorithm is differentiable such that the architecture can be trained end-to-end and gradients can be propagated back through the algorithm in a meaningful way. To make algorithms differentiable, this thesis proposes a general method for continuously relaxing algorithms by perturbing variables and approximating the expectation value in closed form, i.e., without sampling. In addition, this thesis proposes differentiable algorithms, such as differentiable sorting networks, differentiable renderers, and differentiable logic gate networks. Finally, this thesis presents alternative training strategies for learning with algorithms.
翻译:典型的计算机科学算法和神经网络等经典算法和机器学习系统在日常生活中都非常丰富。 虽然经典的计算机科学算法适合精确执行精确界定的任务, 比如在大图中找到最短路径, 神经网络允许从数据中学习预测更复杂的任务中最有可能的答案, 比如图像分类, 无法将其降为精确的算法。 为了获得两个世界的最佳算法, 此理论将两种概念结合起来, 导致更稳健、 更好执行、 更可解释、 更计算高效、 数据效率更高的结构。 该理论将算法监督的概念正式化, 允许神经网络与算法一起学习。 当将算法整合到神经结构中时, 神经网络中最有可能的答案是不同的, 这样的算法很重要, 如此不同的算法, 使得不同的算法可以使用一种通用的方法, 与封闭的变量和对预期值进行匹配, i.sisi, 不需要取样。 最后, 将不同的算法化为不同的算法, 不同的算法, 不同的算法, 使得不同的算法可以选择不同的网络, 不同的算法, 不同的 不同的算法, 成为不同的 不同的算法, 不同的算法是不同的 不同的 不同的 不同的 不同的 不同的 不同的算法, 不同的 不同的 不同的 不同的算法, 不同的算法, 不同的算法是不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的算法, 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的算法, 不同的算法, 不同的算法, 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的 不同的