如何确定我深度学习模型需要哪些类型的层?

3
假设我想制作一个能够实现某些功能的模型。当我在Google或YouTube上搜索相关主题时,我发现有许多相关的教程,似乎已经有一些聪明的程序员使用深度学习实现了该模型。
但是他们如何知道需要使用什么类型的层、激活函数、损失函数、优化器、单元数量等来解决特定问题呢?有没有什么技巧可以知道这些,或者只是理解和经验的问题?如果有人能指点我一些回答我的问题的视频或文章,那将非常有帮助。

1
这个问题不适合在SO上提问。它与编程本身无关。你可以在https://stats.stackexchange.com/上提问,但不能在这里。 - DJK
这是一个活跃研究领域。谷歌已经做出了一些努力,使架构变得更易学习。总的来说,我建议从已知的良好配置开始,例如VGG网络,直到您理解每个组件及其应用方式。通过阅读《深度学习》书籍(在线和印刷版),您将更加了解架构选择。至少在2017年,这个问题没有银弹答案。 - David Parks
2个回答

3

这更多是理解和经验的问题。从零开始构建模型时,您必须了解哪种优化器、损失函数等对您的特定问题有意义。为了适当地选择它们,您必须了解可用优化器、损失函数等之间的差异。

关于选择多少层和节点、什么批量大小、什么学习率等——这些都是您需要测试和调整的超参数,而您在实验模型时需要进行。

我有一个深度学习基础YouTube播放列表可能会对您有所帮助。它涵盖了每个主题的基本基础知识,并提供简短的视频。此外,如果您想在掌握基本概念后专注于编码,这个Keras深度学习播放列表也可能有所裨益。


你的播放列表真的非常有帮助。继续保持这样的工作。天佑你。 - user4846835
谢谢,Snehanshu!顺便说一下,我刚刚更新了播放列表的链接。我的内容已经转移到了一个新的频道。 - blackHoleDetector

1

感谢您的问题。

  1. CS231n Stanford关于CNN的讲座对于初学者来说是最好的,可以参考视频讲座这里和课堂笔记这里
  2. 观看讲座并完成任务后,您将获得有关深度学习以及所有可用算法的基本概念等。
  3. 但是,当涉及解决实际问题时,这是不够的,因此请参加Jeremy Howard的这门课程,他将教授如何使用Kaggle平台解决问题的更多内容。
  4. 继续解决更多问题,尝试使用hackerearth、Kaggle、topcoder等多个平台进行实验新模型和算法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接