Deep Dive in das fastai Deep Learning Framework

所在平台: Udemy

课程主页: https://www.udemy.com/course/deep-dive-in-das-fastai-deep-learning-framework/

课程评论:没有评论

第一个写评论        关注课程

课程简介

## fastai深度学习框架深度解析课程总结 本课程深入探讨了fastai深度学习框架的内部机制。fastai是一个构建在PyTorch之上的、功能强大且易于使用的框架,能够以极少的代码实现先进的深度学习模型,并获得最前沿的性能和快速的训练时间。 本课程将深入到fastai框架的底层,分析其源代码,并动手实现构建深度神经网络所需的核心组件。 **课程核心内容包括:** * **CNN学习器的构建:** 学习如何在fastai中构建卷积神经网络(CNN)学习器。 * **UNET学习器的应用:** 掌握UNET学习器的使用方法。 * **Siamese Twin问题的实现:** 通过fastai实现Siamese Twin问题。 * **fastai训练流程的构建:** 理解fastai框架的训练过程。 * **随机梯度下降(SGD)的实现:** 学习并实现SGD。 * **SGD的优化:** 探索SGD的优化技术,如动量(Momentum)和权重衰减(Weight Decay)。 * **替代优化器:** 学习如Adam和RMS Prop等在深度学习中常用的优化器。 * **回调(Callback)模式的实现与应用:** * 理解fastai框架中的回调模式。 * 学习如何利用回调自定义神经网络的训练过程。 * 掌握为AI算法定制训练过程的方法。 * **fastai的中层API(Mid-Level API):** fasati的中层API提供了更灵活的定制能力,允许用户针对特定数据和任务调整fastai。课程将通过编程实现Siamese-Twins问题来展示其应用。 **关于优化器** 深度神经网络是机器学习工具箱中的瑞士军刀,能够以高精度解决几乎所有人工智能问题。然而,训练深度神经网络是深度学习模型编程的关键。 * **SGD(Stochastic Gradient Descent):** 是训练神经网络的基础。它通过沿着函数梯度最陡峭的负方向迭代下降来寻找函数的最小值。 * **Adam Optimizer:** 结合了多种优化器技术,利用指数加权移动平均的梯度和梯度平方来计算自适应学习率,提高了训练速度和精度。 * **RMSProp:** 由Geoffry Hinton提出,旨在解决高方差和权重值标准差的问题,为不同的训练周期提供自适应学习率,在AI社区中广受欢迎。 本课程将通过纯Python代码实现这些优化器的关键部分,让学习者深入理解fastai框架中用于算法和AI训练的各种优化技术。

课程评论(0条)

课程详情

Dieser Spezialkurs widmet sich ganz den Details im fastai deep learning Framework.Mit dem fastai Deep Learning Framework haben wir ein sehr durchdachtes und einfach zu verwendendes Framework, das auf dem PyTorch Framework aufsetzt an der Hand.Viele Standardprobleme können mithilfe von fastai in nur wenigen Zeilen Code so gelöst werden, dass wir state-of-the-art Ergebnisse mit nur sehr kurzen Trainingszeiten erhalten.In diesem Kurs steigen wir jedoch eine Stufe hinab und sehen uns an, wie diese einfachen Dinge im fastai Framework implementiert sind. Wir analysieren den Sourcecode und programmieren wesentlichen Elemente, die zum Aufbau eines tiefen neuronalen Netzes erforderlich sind nach.Wesentliche Elemente, denen wir uns in diesem Kurs zu künstlicher Intelligenz und Deep Learning widmen:Aufbau des CNN-Learners (für Convolutional Neural Networks) in fastaiEinsatz des UNET-LearnersUmsetzung des Siamese Twin Problems mithilfe von fastaiAufbau des Trainingsprozesses im Fastai FrameworkImplementieren von SGD - Stochastic Gradient DescentOptimierungen von SGD wie Momentum und Weight DecayAlternative Optimizer für Deep Learning wie Adam oder RMS PropDie Umsetzung des Callback-Patterns im Fastai-FrameworkWie werden Callbacks zur Individualisierung des Trainingsprozesses neuronaler Netze in fastai verwendet?Wie können wir mithilfe von Callbacks einen individuellen Trainingsprozess für unsere KI-Algorithmen in Fastai umsetzen?Die Mid-Level API von FastaiDie Mid-Level API von Fastai bietet uns die Möglichkeit, fastai für individuelle Programmierungen aus dem Bereich deep learning einzusetzen.Mithilfe der Mid-Level API können wir Fastai individuell an unsere Daten und unsere Aufgabenstellung anpassenWir programmieren das Siamese-Twins Problem mithilfe der Mit-Level-ApiWelche Bedeutung kommt Optimizern bei der Implementierung von Algorithmen zu künstlicher Intelligenz zu? Tiefe neuronale Netze (deep neural networks) stellen heute sozusagen das Schweizer-Taschenmesser im Algorithmen Werkzeugkasten für Machine Learning dar. Mithilfe von neuronalen Netzen lassen sich nahezu alle Probleme aus dem Bereich künstlicher Intelligenz mit überzeugender Genauigkeit (accuracy) lösen.Doch insbesondere das Training von besonders tiefen neuronalen Netzen stellt ein Kernelement der Programmierung von deep learning Modellen im Umfeld künstlicher Intelligenz dar. Hier zeigte die Forschung und Wissenschaft in den vergangenen Jahren die Wichtigkeit von Optimizern auf und präsentierte mit Konzepten wie RMS Prop oder Adam Optimizer zwei Varianten, die sowohl die Trainingsgeschwindigkeit, wie auch die Genauigkeit der Ergebnisse von (tiefen) neuronalen Netzen erhöhten.Die wohl bekannteste Optimizer Algorithmus im Umfeld künstlicher Intelligenz ist SGD (Stochastic Gradient Descent). SGD stellt sozusagen die Basis für das Training neuronaler Netze dar. Als Gradient wird allgemein die Steigung einer Funktion bezeichnet. Descent steht für "Absteigen". Stochastic Gradient Descent bedeutet also, stetig entlang des stärksten Gefälle heruntersteigen. Bei der linearen Regression etwa, wollen wir die Summe der Quadrate der "Residuals" minimieren. Wir wissen, dass eine Funktion dort ein Minimum aufweist, wo die erste Ableitung (=Steigung) gleich 0 ist. Auf diese Weise kann das Problem der linearen Regression gelöst werden und der Vektor mit den Gewichten berechnet werden.(Stochastic) Gradient Descent ist also ein iterativer Algorithmus, der an einem zufälligen Punkt der Funktion beginnt und weiter talwärts entlang der höchsten negativen Steigung optimiert. Solange, bis er an einem Minimum angelangt ist.Ein anderer bekannter Optimizer ist der Adam Optimizer: Adaptive Moment Estimatiion. Die Kernidee von Adam besteht in der Kombination unterschiedlicher Optimizertechnologien für neuronale Netze.Adam verwendet - ähnlich wie der Momentum Optimizer - exponential weight decay über den gleitenden Mittelwert der Gradienten. Die Richtung der Parameter Aktualisierungen wird auch beim Adam Optimizer in ähnlicher Weise berechnet. Ebenso setzt Adam auf exponential weight decay über den Mittelwert der Gradienten zum Quadrat, um adaptive learning rates zu berechnen.Die Idee zu RMSProp lieferte Geoffry Hinton in seinem online Kurs "Neural Networks für Machine Learning". RMSProp setzt auf das Konzept einer adaptiven Learning Rate für die unterschiedlichen Trainingszyklen von neuronalen Netzen. Obwohl RMSProp nicht wirklich öffentlich publiziert wurde, erfreut sich der Optimierungsalgorithmus für neuronale Netze hoher Bekanntheit und Beliebtheit in der künstlichen Intelligenz Community. Das Zentrale Anliegen der Optimierung mittels RMSProp Algorithmus liegt in der Auflösung des Problems einer hohen Varianz und Standardabweichung der Werte der Gewichte.Um die Details der verschiedenen Optimizer Algorithmen für (tiefe) neuronale Netze - deep neural networks - genauer kennenzulernen, implementieren wir in diesem Kurs die wesentlichen Passagen mit reinem Python Code nach und erleben auf diese Weise die vielfältigen Optimierungen für Algorithmen und Training künstlicher Intelligenz im fastai Framework.

课程标签

0人关注该课程

主题相关的课程