我有一个概念性问题,关于机器学习的软件过程/体系结构设置。我有一个网络应用程序,我试图合并一些机器学习算法,像Facebook的脸部识别(除了通常的对象)。因此,该模型在分类特定上传到我的服务(比如fb如何分类特定人员等)方面会更好。用户图像标记图像分类模型的专业化
粗线条是:
event: User uploads image; image attempts to be classified
if failure: draw a bounding box on object in image; return image
interaction: user tags object in box; send image back to server with tag
????: somehow this new image/label pair will fine tune the image classifier
我需要最后一步的帮助。通常在转移学习或一般培训中,程序员拥有一个装满图像的大型数据库。在我的情况下,我有一个预训练模型(google的inception-v3),但我的微调数据库是不存在的,直到用户开始上传内容为止。
那么我怎么能使用该标记方法来建立专门的数据库?我确信FB遇到了这个问题并解决了它,但我可以找到他们的解决方案。有些人认为(和确凿的研究成果)后,我能想到的唯一的策略是要么:
A) stockpile tagged images and do a big batch train
B) somehow incrementally input a few tagged images as they get
uploaded, and slowly over days/weeks, specialize the image classifier.
理想情况下,我想,以避免选项A,但我不知道是B如何现实,也不如果有其他方式来完成这项任务。谢谢!
你想让每个人都专注一个学习者,或者每个用户需要一个学习者?在任何情况下,采用新标记图像并在网络上运行随机梯度下降(或其他简单方法)几次迭代时会出现什么问题?请参阅[在线学习](https://en.wikipedia.org/wiki/Online_machine_learning)。 – user3658307
是的,整个系统的一个学习者。好的,在线学习似乎是一种策略,让我可以用有限的动态数据“连续”更新模型。 –