我在 ML 世界里还是个新手,但我对 CNN 有一个奇怪的想法,想问问这是否是检查对某些图像进行分类的通用 CNN 的鲁棒性的有效方法。
假设我制作了一个 CNN,它接收许多不同的运动员执行某个动作的图像(篮球射击、足球踢、游泳中的自由泳、体操中的翻转等)。首先,这样的 CNN 是否有可能区分如此多样的图像并对其进行准确分类?如果是这样,将这个“更大”的 CNN 与多个“更小”的更专业的从一项特定运动中获取图像的CNN进行比较是否是一个好主意?
换句话说,我想知道,如果我有一个“更大”的 CNN 给我一个像“足球被踢”这样的输出,有没有办法用一个只关注足球动作的更小的 CNN 来仔细检查这个输出? 本质上,我们是否可以创建一个系统,一旦您从通用 CNN 获得输出,它会自动通过更专业的 CNN 对相同的图像进行分类,然后如果结果具有相似的准确度,您肯定知道 CNN 有效吗?
有点像将较小的 CNN 作为较大的 CNN 的“基本事实”?在我的脑海里,它是这样的:
large_net_output = 'Football kick identified with 95.56% confidence'
for sport in large_net:
if sport == 'football':
access = small_net_for_football
return small_net_for_football_output
elif sport == 'swimming':
access = small_net_for_swimming
return small_net_for_swimming_output
elif sport == 'baseball':
access = small_net_for_baseball
return small_net_for_baseball_output
# and so on....
>>> small_net_for_football_output = 'Football kick identified with 97.32% confidence'
robustness_check = large_net_output - small_net_for_football_output
print(robustness_check)
>>> 'Your system is accurate within a good range of 1.76%'
我希望这是有道理的,并且这个问题不会让您感到畏缩。感谢您对此的任何反馈!