机器学习案例:使用TensorFlow 闻声识鸟
摘要: TensorFlow是一个开源的机器学习库—对任何人都是开放的。公司、非营利性组织、研究人员和开发人员已经在一些领域使用了TensorFlow。
TensorFlow是一个开源的机器学习库—对任何人都是开放的。公司、非营利性组织、研究人员和开发人员已经在一些领域使用了TensorFlow。
维克托·安东(Victor Anton)三年内记录并收集了数万个鸟鸣的录音,但是他无法弄清楚每一个鸟鸣属于哪只鸟。
来自新西兰的被称为西兰蒂亚洲(Zealandia)的鸟类自然保护区周围50个采集鸟鸣地点的录音,是为了更好的了解濒危物种的动向和数量,包括Hihi, Tīeke and Kākāriki。由于研究人员对鸟类的栖息地和它们将要往哪里迁徙并没有掌握可靠的信息,因此,他们很难就鸟类的地面保护做出正确的决策。
这就是录音记录的来源,然而音频的数量是巨大的,因此,来自新西兰惠灵顿维多利亚大学的博士生Victor和他的团队转向利用技术识别鸟鸣。
Victor说,“我们知道在这个音频里记录了许多令人难以置信的有价值的数据,但是我们根本没有足够的人力或者一个可行的方案可以帮助我们解答这个问题。所以,我们转而利用机器学习来帮助我们识别音频里的鸟鸣。”
在机器学习的一个特殊的应用中,他们训练了一个基于Google TensorFlow库的系统以识别特定的鸟鸣声和评测鸟类活动。它识别的鸟鸣越多,学习的就越多,结果就会越精确。
它的工作原理是这样的:AI系统使用一个已经记录和存储了鸟鸣的音频,将其切分成若干个时长为一分钟的片段,然后将文件转换为一个频谱图。在频谱图被切成若干块以后,每个块的跨度不超过1秒,再分别用同一个深度卷积神经神经网络进行处理。然后利用一个循环神经网络将这些块组合在一起,持续的预测三只鸟中的哪一只是存在于这个一分钟长的片段中的。编译这些片段是为了更全面的了解鸟类的存在和活动。
Victor和他的团队面临着一些独一无二的挑战。他们从少量有标签的数据开始,但系统往往会接收其他的噪音,如建筑,汽车甚至是门铃,并且有的鸟类有着各种各样的鸟鸣,或者两种鸟类同时进行鸣叫。
为了克服这些障碍,他们对系统进行了多次的测试,验证和重复训练。最终,系统学会了在数千小时的录音数据中锁定其他一些声音。虽然这项研究还处于初级阶段,但环保组织已经和Victor协商如何利用这些初步成果来获得更大的成就。另外,这个团队已经取得了一些令人鼓舞的成果,他们相信这些成果可以用于其它的环境保护项目。
“我们才刚刚开始了解到,我们可以通过不同的方式让机器学习来帮助我们保护不同的动物,”Victor说,“最终,这会使我们能够解决我们所面临的其他的那些全球性环境挑战”。