end to end 端到端的算法进行学习

假设你正在搭建一个机器学习系统,你要决定是否使用端对端方法,我们来看看端到端深度学习的一些优缺点,这样你就可以根据一些准则,判断你的应用程序是否有希望使用端到端方法。

优点:

端到端学习真的只是让数据说话。所以如果你有足够多的(x, y)数据,那么不管从x到y最适合的函数映射是什么,如果你训练一个足够大的神经网络,希望这个神经网络能自己搞清楚,而使用纯机器学习方法,直接从x到y输入去训练的神经网络,可能更能够捕获数据中的任何统计信息,而不是被迫引入人类的成见。

端到端深度学习的第二个好处就是这样,所需手工设计的组件更少,所以这也许能够简化你的设计工作流程,你不需要花太多时间去手工设计功能,手工设计这些中间表示方式。 

缺点:

它可能需要大量的数据。要直接学到这个x到y的映射,你可能需要大量(x, y)数据。

另一个缺点是,它排除了可能有用的手工设计组件。如果你没有很多数据,你的学习算法就没办法从很小的训练集数据中获得洞察力。所以手工设计组件在这种情况,可能是把人类知识直接注入算法的途径。我觉得学习算法有两个主要的知识来源,一个是数据,另一个是你手工设计的任何东西,可能是组件,功能,或者其他东西。所以当你有大量数据时,手工设计的东西就不太重要了,但是当你没有太多的数据时,构造一个精心设计的系统,实际上可以将人类对这个问题的很多认识直接注入到问题里,进入算法里应该挺有帮助的。

 

陈永志:

非end-to-end方法:
目前目标检测领域,效果最好,影响力最大的还是RCNN那一套框架,这种方法需要先在图像中提取可能含有目标的候选框(region proposal), 然后将这些候选框输入到CNN模型,让CNN判断候选框中是否真的有目标,以及目标的类别是什么。在我们看到的结果中,往往是类似与下图这种,在整幅图中用矩形框标记目标的位置和大小,并且告诉我们框中的物体是什么。
这种标记的过程,其实是有两部分组成,一是目标所在位置及大小,二是目标的类别。在整个算法中,目标位置和大小其实是包含在region proposal的过程里,而类别的判定则是在CNN中来判定的。

这种标记的过程,其实是有两部分组成,一是目标所在位置及大小,二是目标的类别。在整个算法中,目标位置和大小其实是包含在region proposal的过程里,而类别的判定则是在CNN中来判定的。

end-to-end方法:
end-to-end方法的典型代表就是有名的yolo。前面的方法中,CNN本质的作用还是用来分类,定位的功能其并没有做到。而yolo这种方法就是只通过CNN网络,就能够实现目标的定位和识别。也就是原始图像输入到CNN网络中,直接输出图像中所有目标的位置和目标的类别。这种方法就是end-to-end(端对端)的方法,一端输入我的原始图像,一端输出我想得到的结果。只关心输入和输出,中间的步骤全部都不管。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值