钓鱼马拉松
每年,美国国务院都会赞助一项名为钓鱼马拉松它的目标是通过创造技术解决方案来帮助解决与捕鱼有关的问题,从而保护我们水域中的生命。
第一届全球比赛于2014年举行,每年都在大幅增长。2018年获奖作品来自波士顿的一支五人团队,与分布在五大洲的65个其他城市的45000人比赛。参与者包括程序员、网页和图形设计师、海洋学家和生物学家、数学家、工程师和学生,他们都在两天的课程中不知疲倦地工作。
要了解更多有关2018年Fishackathon的获奖作品以及Wolfram语言有助于使海洋更加安全,我们与迈克尔·索拉米更多地了解他和他的团队对当年挑战的解决方案。
![Fishackathon的Wolfram语言 Fishackathon的Wolfram语言](https://content.wolfram.com/sites/39/2019/04/Wolfram-Language-at-Fishackathon.png)
告诉我们一些关于你自己的信息,以及你是如何熟悉Wolfram技术的…
我卷入了Wolfram技术在大学和研究生院期间。我用过数学软件广泛用于数学与计算机科学研究我最终与斯蒂芬·沃尔夫拉姆(Stephen Wolfram)一起在剑桥大学的高级研究小组工作。今天,我是Salesforce Einstein的首席数据科学家,在那里我与一支由工程师和研究人员组成的惊人团队合作,构建新的机器学习系统,以增强我们的预测和搜索平台。从实验性的深层神经架构到原型化更高效的信息检索方法,我们正在设计下一代搜索、推荐和预测分析技术。
是什么吸引你参加Fishackathon?
在长岛湾附近长大,我家有一艘小帆船,我们花了很多时间在水上或附近。我喜欢潜水(随机琐事:萨巴是我最喜欢的潜水地点),多年来我亲眼目睹了令人不安的水生破坏程度。来自海洋学研究的数据描绘了一个相当黯淡的未来。事实上,根据最好的海洋学计算机模型,到2040年,将不会有任何鱼比小鱼大。
在仅仅50年的时间里,我们已经将大型鱼类的数量减少了90%以上,例如蓝鳍金枪鱼和鳕鱼。工业捕鱼使用20英里长的渔网,拖网渔船沿着洋底拖曳拖拉机拖车大小的东西。在短短的几十年里,我们将曾经重要的海绵和珊瑚苗圃海床清理成数百万平方英里的无生命的淤泥。根据珊瑚礁生态学家杰里米·杰克逊(Jeremy Jackson)的说法,“水下栖息地被破坏的总面积超过了人类历史上被砍伐的所有森林的总和。”
许多因素造成了海洋生物灭绝的威胁,它们不是独立的:生物和化学污染、酸化、脱氧、塑料、气候危机——这可能是压倒性的。因此,我们认为非法、未报告和无管制(IUU)过度捕捞是集思广益寻找可能解决方案的好地方。与全世界3500多名其他人同时竞争,在一个周末的时间内编写出可能对环境产生积极影响的代码,真是令人难以置信。
去年的挑战是什么?
每年Fishackathon提供多个质询语句竞争团队可以从中选择。这些主题由具有现实需求的行业专业人士制定,并在离活动时间较近的时候提供给参与者。2018年,我们选择了挑战#10:被动非法捕鱼检测。
挑战声明:保护限制捕鱼区(如海洋保护区、边远地区)免受非法捕捞是一项巨大的挑战。一种被动工具(可能使用声纳?)有助于识别限制区域内的捕鱼活动,将有助于机构更有效地监测、跟踪和执行法律。
你可能会从观看中回忆起寻找红色十月美国海军在世界各地运营一系列水下监听站,这是一个名为SOSUS的声音监控系统。这组底部安装的水听器阵列最初建于20世纪50年代,用于通过苏联潜艇的声学信号跟踪和指纹识别。将近70年后,我们没有理由不能应用(更新和更便宜的版本)这项技术来跟踪和识别渔船。
开发解决方案的过程是什么?
我们知道我们解决方案的核心是一个准确的捕鱼声学模型,所以我们从问题的软件方面开始。一旦我们获得了核心检测算法的生命证明,我们就反复设计web应用程序/接口和硬件组件。
我们需要设计一种配备水听器的潜水听音设备,同时使其尽可能便宜。部署的设备还需要能够将网络数据传输回我们的服务器,以便三角测量和跟踪在受保护水域作业的任何侦测到的偷猎船只的位置。
我们最终提交的文件,我们称之为PoachStopper,不仅可以识别与捕鱼相关的声音,还可以计算在50公里探测半径内通过的每艘船的唯一特征。
您是如何将深度学习融入解决方案的?
这就是Mathematica闪耀的地方。Mathematica导入和操作音频文件的能力使数据预处理管道非常简单。网络编码器对于“音频”与当时的许多其他框架相比,处理不同维度的输入使得预处理输入更加容易。
✕
net=资源数据[“HiddenAudioIdentifyMobileNetDepth1-0”];ne=NetExtract[net,“输入”];encoder=NetEncoder[{“函数”,函数[feat,第一个@分区[If[Length[feat]<96,ArrayPad[feat,{{0,96-Length[feat]},Padding->“Fixed”],feat],96,64]]/@Normal[NetEncoder[{“AudioMelSpectrogram”,“NumberOfFilters”->64,“WindowSize”->600}][#1]&,{96,64},“Pattern”->None,“Batched”->True}];图像3D[ne@正常@ExampleData[#],ImageSize->Tiny,ColorFunction->“RainbowOpacity”]//@ExampleData[“Audio”][[;;20]]//多列
|
在Fishackathon举行的时候神经网络存储库还没有出现,所以我不能只是拉一些最先进的模型,并执行一些转移学习。因此,我们需要从头开始对网络进行培训,同时还要满足保持极低能耗的额外要求。出于这些原因,我决定开始使用谷歌MobileNet架构的一个变体,它以深度可分离卷积为高效构建块。在基本骨架中,我在具有跳跃连接的层之间添加了一些线性瓶颈,从而提高了精确度并加快了收敛速度。在将海洋声音数据集的原始音频处理成标准化的频谱图后,我在一个GPU实例上对AWS进行了一整夜的培训,到了周日早上,我已经有了一个可以工作的检测器。
这是以前11.3版去年推出,但如果能使用这样的工具就好了网络编码器[“音频MFCC”]和Web音频搜索我们设计的网络能够以98%的准确率描绘出海洋、非渔船和主动拖网渔船在不同模式下的正常声音之间的差异。我们还构建了一个单独的识别模块,该模块学习了单个船只引擎和螺旋桨声音之间的一种很好的不变性映射,这对于跟踪特定船只来说是一种基本的感知散列。
使用树莓派似乎是一个不错的选择,可以进行廉价的部署…
的确!由于Mathematica与Raspbian操作系统打包在一起,这可能是一条很好的路线。树莓鱼可以随GPU一起提供,它们不是来自NVIDIA,因此不支持目标设备→“GPU”。对于生产,我们最终将网络移植到了PyTorch,但我最终将模型移植到了TensorFlow Mobile,以便使用物联网和移动设备进行测试,这从实时和通电配置文件来看更好。
PoachStopper的下一步是什么?
在我们赢得决赛后,我把这个项目交给了我非常能干的队友,他们正在寻求各种合作伙伴关系和资助机会。PoachStopper和其他类似的生态初创公司有潜力在为海洋生物的未来而战中产生非常可衡量的影响。然而,残酷的事实是,政府是唯一能够阻止鱼类灭绝的实体。这很容易做到,只需几个简单的立法步骤:
- 为人口创造足够大的不可燃烧区域,以开始再生
- 对任何一年的捕鱼量实行配额
- 结束政府对渔业综合企业的补贴
公司需要为捕鱼特权买单,政府需要确保我们的海洋不会像我们预测的那样,在2050年变成一片巨大的有毒沙漠。
今年的Fishackathon有什么准备?
今年的Fishackathon主要关注鱼肝素,并将重点开发使用开放平台进行数据捕获和共享的解决方案。这本质上意味着构建能够捕获和处理现场传感器数据的应用程序,然后使用分散分类账技术发布数据。凭借所有与区块链相关的新功能,Mathematica可能成为2019年的首选武器!
你想补充什么?
我认为Mathematica是任何黑客马拉松的“杀手级应用程序”。Python和机器学习框架是我的机器学习工程的主要工具,但Mathematica仍然是最快的语言原型化小规模的东西。随着版本12的到来,我非常高兴能够将所有内容编译成机器代码,以C++速度运行,更不用说能够将网络导出到ONNX,以便在生产级服务器中使用。
最新的Wolfram技术堆栈使您能够在几分钟内开发和部署有用的应用程序。立即开始Wolfram | One试用版的编码。
|
现在就试试!
|