项目介绍:T81_558 深度学习应用
本项目名为“应用深度神经网络课程”,是由Jeff Heaton教授在华盛顿大学(圣路易斯)开设的课程,旨在介绍和教授深度学习技术及其实际应用。尽管目前该课程的最新版本使用PyTorch作为教学工具,但本项目存储库仍基于Keras/TensorFlow,是之前版本的完整资源。
课程描述
深度学习是神经网络领域中一组激动人心的新技术。通过高级训练技术和神经网络架构组件的结合,现在能够构建处理表格数据、图像、文本和音频作为输入和输出的神经网络。该课程将学生引入经典的神经网络结构,包括卷积神经网络(CNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)、生成对抗网络(GAN)以及强化学习。课程内容涵盖了计算机视觉、时间序列分析、安全性、自然语言处理(NLP)和数据生成等领域中的应用。
高性能计算(HPC)是课程的一部分,展示了如何在图形处理单元(GPU)和网格上充分利用深度学习。课程主要关注于深度学习在实际问题中的应用,同时也涉及一些数学基础的介绍。对于课程的学习者,使用Python编程语言实现深度学习,并结合Google TensorFlow和Keras进行实践操作。即使不具备Python知识的学生也可参与,但前提需要熟悉至少一种编程语言。课程以混合形式进行授课,包括课堂教学和在线教学两种。
教材
课程的完整教材可在GitHub上获取,同样也可以通过书籍形式购买。课程使用的教材书名为“Applications of Deep Neural Networks with Keras”,ISBN 9798416344269。
课程目标
- 解释深度神经网络(及其他神经网络)如何与其他机器学习模型进行比较。
- 确定在解决特定问题时,深度神经网络是否是一个好的选择。
- 通过最终项目并上传到GitHub来展示对课程内容的理解。
教学大纲
以下是预期的课堂日程安排、截止日期和阅读作业:
- 模块1:Python基础——介绍Python基础知识和操作。
- 模块2:机器学习中的Python应用——深入学习如何在Python中使用Pandas进行数据操作。
- 模块3:使用TensorFlow和Keras进行神经网络构建——学习如何创建和管理Keras神经网络。
- 模块4:处理表格数据的训练——涵盖特征编码、多分类以及回归分析。
- 模块5:正则化与Dropout——讲解如何通过正则化方法和Dropout减少过拟合。
- 模块6:视觉中的卷积神经网络(CNN)——深入图像处理和使用预训练网络。
- 模块7:生成对抗网络(GANs)——生成图像和数据的最新技术。
- 模块8:Kaggle平台实战——探索Kaggle比赛并应用课程所学。
- 模块9:迁移学习——学习如何在不同领域应用迁移学习。
- 模块10:时间序列分析——引入LSTM与Transformers。
- 模块11:自然语言处理(NLP)——使用Hugging Face进行NLP任务。
- 模块12:强化学习——介绍OpenAI Gym及相关的Q-Learning技术。
- 模块13:部署与监控——学习如何在实际应用中部署深度学习模型。
数据集
课程中使用的所有数据集可以从Heaton Research的数据下载页面获取。
通过这个课程,学生将掌握深度学习的基础知识及其在各种领域的应用。课程不仅重视解决真实世界的问题,也鼓励学生利用最新的技术对现有问题提出创新性解决方案。