定义:找到可以得到准确率最高的神经网络结构(或者其他指标更好:比如效率、资源利用…)
eg: ResNet has better accuracy than VGG
MobileNet is more efficient than ResNet but less accuracy.
超参组合总数(the set containing all the possible architectures)
Hyper-Parameters Types | Candidates |
---|---|
# of filters | {24, 36, 48, 64} |
size of filters | {3x3, 5x5, 7x7} |
stride | {1, 2} |
如果用上述超参搭建20个卷积层可能的组合有(4 * 3 * 2) ^ 20 = 4 x 10 ^ 27种
layer1 | layer2 | … | layer20 | |
---|---|---|---|---|
# of filters | 24 | 48 | … | 64 |
size of filters | 5x5 | 3x3 | … | 3x3 |
stride | 1 | 1 | … | 2 |
随机设置超参 --train–> CNN model --evaluate–> val acc
重复该过程多次,选择其中val acc 最好的超参配置
这种方法叫:cross validation 交叉验证
难点:1. 每次尝试消耗巨大;2. search space巨大,尝试数量太小,不容易找到特别好的结构;
通过RNN获得CNN Architectures
由于该controller RNN的训练过程不可微,用强化学习训练RNN
难度:计算量巨大 – 需要每次从0开始训练CNN,最后用CNN的val 作为奖励来训练controller RNN
MapReduce 架构(google 不开源):同步,cs架构,每个worker全部完成工作后才会进行下一轮;更多用于大数据处理
– apache hadoop(开源)
– apache spark (比hadoop快很多)
Parameter Server:异步,cs架构;Ray(推荐的开源系统,better than spark);要求所有work必须比较稳定
Decentralized Network(去中心化网络):peer to peer,