机器学习、深度学习的模型网络结构是如何确定的?前不久和人聊天,他说他们可以通过数学计算的方式来确定网络结构,从而完成对现有经典网络进行修改,或直接自己设计网络,来提升模型的精度和性能。说实话,这颠覆了我的认知,我原以为是靠经验和不断尝试才设计出的新的有效网络。那么该如何通过数学方式计算呢?能举个简单的例子么?
2条回答 默认 最新
- 艾鹤 2022-06-10 18:16关注
都是参考前人设计,然后基于此进行创新或者革新,设计新的网络结构,我举几个简单例子:
1.loss部分调整:比如:我们可以修改loss,之前用的交叉熵loss,完全可以改成focalloss,tripleloss,aslloss等等,当然可以自己设计一个新的loss。
2.常见模型结构微调:可以对网络结构加入一些常规的操作,dropout,fgb都是有可能的;另外,有的loss可能输入需要多个样本,这样可能就得让模型的调整模型的编码结构。
3.结构借鉴:可能提出一个新的结构组件,同时融合已有结构取得很好效果,比如,transformer,他的整体其实编解码结构,这个早就有了,但是他会把其中某个组件做了优化,做了并行,做了self-attention等等,当然这个attention机制在cv中早就有了,他可能对其中做了self,然后用了layNorm,做了另外的归一化等等;当然也有cv反过来,借鉴transformer,把输入调整成和NLP类似,对其中的mask的比例做了新的探索,对次序进行了变化等等上面的例子没有先后顺序,没有高端还是低端,完全是看能否有效的解决问题,比如,
1.调整loss看起来好像没啥,实际上可能你用了一个好的loss,取得好的效果,就是一个不错的工作,很多大牛可能就是提出了一个新的loss,取得了一个新的结构。
2.调整其他结构也一样,有点大佬可能就是加了一个残差效果就上去了,可能加了一个attention等等本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 对于这个问题的算法代码
- ¥20 access多表提取相同字段数据并合并
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据