英雄联盟之魔王传说259ai没提示,可是wwW259aiCom还是不能收看

&figure&&img src=&https://pic4.zhimg.com/v2-e7dabcdd325b_b.jpg& data-rawwidth=&2000& data-rawheight=&1206& class=&origin_image zh-lightbox-thumb& width=&2000& data-original=&https://pic4.zhimg.com/v2-e7dabcdd325b_r.jpg&&&/figure&&p&注:这是对我在 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&知乎用户:如何看待 Caffe2 代码并入 PyTorch ?&/a&上的回答的最新消息。因为原文是用英文写的,由于时间关系我没有再写中文版本,不过欢迎有兴趣的朋友翻译,我可以在文章中加入翻译的链接。&/p&&h2&&b&Announcing PyTorch 1.0 for both research and production&/b&&/h2&&p&The path for taking AI development from research to production has historically involved multiple steps and tools, making it time-intensive and complicated to test new approaches, deploy them, and iterate to improve accuracy and performance. To help accelerate and optimize this process, we're introducing PyTorch 1.0, the next version of our open source AI framework.&/p&&p&PyTorch 1.0 takes the modular, production-oriented capabilities from Caffe2 and ONNX and combines them with PyTorch's existing flexible, research-focused design to provide a fast, seamless path from research prototyping to production deployment for a broad range of AI projects. With PyTorch 1.0, AI developers can both experiment rapidly and optimize performance through a hybrid front end that seamlessly transitions between imperative and declarative execution modes. The technology in PyTorch 1.0 has already powered many Facebook products and services at scale, including performing 6 billion text translations per day.&/p&&p&PyTorch 1.0 will be available in beta within the next few months, and will include a family of tools, libraries, pre-trained models, and datasets for each stage of development, enabling the community to quickly create and deploy new AI innovations at scale.&/p&&h2&The path from research to production&/h2&&p&PyTorch's imperative front end allows for more rapid prototyping and experimentation through its flexible and productive programming model. The first version of PyTorch launched a little over a year ago, and its speed, productivity, and ability to support cutting-edge AI models such as dynamic graphs quickly made it a popular and important development tool for AI researchers. It has more than 1.1 million downloads and is the second-most cited deep learning framework on arxiv over the last month. For example, UC Berkeley computer scientists put PyTorch's dynamic graph capabilities to use for their noteworthy CycleGAN image-to-image transform work.&/p&&p&Although the current version of PyTorch has provided great flexibility for AI research and development, performance at production-scale is sometimes a challenge, given its tight coupling to Python. We often need to translate the research code -- either training script or trained model -- to a graph mode representation in Caffe2 to run at production scale. Caffe2's graph-based executor allows developers to take advantage of state-of-the-art optimizations like graph transformations, efficient memory reuse, and tight hardware interface integration. The Caffe2 project was launched two years ago to standardize our production AI tooling, and is now running neural networks across Facebook servers and on more than 1 billion phones around the world, spanning eight generations of iPhones and six generations of Android CPU architectures. Today, Caffe2 delivers more than 200 trillion predictions per day across all models, small and large, with optimized production performance.&/p&&p&The migration from PyTorch to Caffe2 to ship to production used to be a manual process, time-intensive, and error-prone. To solve this problem, we partnered with major hardware and software companies to create &b&&a href=&https://link.zhihu.com/?target=https%3A//l.facebook.com/l.php%3Fu%3Dhttp%253A%252F%252Fonnx.ai%252F%26h%3DATN0kgbL3-16n81Tm7N9MAQLDTc_YubMpicVoCqKfxVE3rSL9WICRu3JJthvJnMZVhKFAj3iQrWbPaNkdBA48Gg8_GlZDlCjSDbDlyxCb3QcY_vfbL6F0AE8& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ONNX (Open Neural Network Exchange)&/a&&/b&, an open format for representing deep learning models. With ONNX, developers can share models among different frameworks, for example, by exporting models built in PyTorch and importing them to Caffe2. At Facebook, this enabled us to have smoother AI research, training and inference with large-scale server and mobile deployment.&/p&&p&We've used these tools (PyTorch, Caffe2, and ONNX) to build and deploy Translate, the tool that now runs at scale to power translations for the 48 most commonly used languages on Facebook. In VR, these tools have been critical in deploying new research from Oculus into production to make avatars move more realistically.&/p&&p&However, while this combination of three different tools has been effective, there are still manual steps that are complicated and time-consuming. As such, it didn't allow us to bring new AI research innovation to production as seamlessly as we would have liked.&/p&&h2&Unifying research and production capabilities in one framework&/h2&&p&PyTorch 1.0 fuses together immediate and graph execution modes, providing both flexibility for research and performance optimization for production. More specifically, rather than force developers to do an entire code rewrite to optimize or migrate from Python, PyTorch 1.0 provides a hybrid front end enabling you to seamlessly share the majority of code between immediate mode for prototyping and graph execution mode for production.&/p&&p&In addition, ONNX is natively woven into PyTorch 1.0 as the model export format, making models from PyTorch 1.0 interoperable with other AI frameworks. ONNX also serves as the integration interface for accelerated runtimes or hardware-specific libraries. This gives developers full freedom to mix and match the best AI frameworks and tools without having to take on resource-intensive custom engineering. Facebook is committed to supporting new features and functionalities for ONNX, which continues to be a powerful open format as well as an important part of developing with PyTorch 1.0.&/p&&h2&Building an end-to-end deep learning system&/h2&&p&Along with PyTorch 1.0, we'll also open-source many of the AI tools we are using at scale today. These include Translate — a PyTorch Language Library — for fast, flexible neural machine translation, as well as the next generation of ELF, a comprehensive game platform for AI reasoning applications. Developers can also take advantage of tools like Glow, a machine learning compiler that accelerates framework performance on different hardware platforms, and Tensor Comprehensions, a tool that automatically generates efficient GPU code from high-level mathematical operations. We have also open-sourced other libraries, such as Detectron, which supports object-detection research, covering both bounding box and object instance segmentation outputs. Visit our AI developer site at &b&&a href=&https://link.zhihu.com/?target=https%3A//l.facebook.com/l.php%3Fu%3Dhttps%253A%252F%252Ffacebook.ai%252Fdevelopers%26h%3DATOH4h9UlJc7Hv8ZCq9f2djavpqrfwsDbyK0yso_x0YACklNb74YNVPKFjX5SIKqnzF6euMFAunUMPph-kk0w7eXQWqWUpPIj3y9m3jY0-qEeEuSYBsXvBan& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&facebook.ai/developers&/a&&/b& for the full list, and learn more about PyTorch on the &b&&a href=&https://link.zhihu.com/?target=https%3A//l.facebook.com/l.php%3Fu%3Dhttp%253A%252F%252Fpytorch.org%252F%252F02%252Froad-to-1.0.html%26h%3DATOaExMYcQh_DKIK09BW2v3b-9MSg0byl6sG8acvPlucLvwa7rrlui2_F_H8oGrAJEfZ6jGlReCWLFVM-ckPa8zVg5o4bJI4T4cM_0a9hrHET88BScEsBMhV& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PyTorch&/a&&/b& and &b&&a href=&https://link.zhihu.com/?target=https%3A//l.facebook.com/l.php%3Fu%3Dhttps%253A%252F%252Fcaffe2.ai%252Fblog%252F%252F02%252FCaffe2_PyTorch_1_0.html%26h%3DATMbuCjbAGJsw7TOcdvpa7NLhuCKV66LmO-XLlkKV-HZDQMgpmP8Pjo-J9YoBK9WVivDMVM0MLqnFgpnKcRv2k5Wsis-XN4Bim0eQ4sSrgwDaS5zBrspjife& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Caffe2&/a&&/b& blogs.&/p&&p&Over the coming months, we're going to refactor and unify the codebases of both the Caffe2 and PyTorch 0.4 frameworks to deduplicate components and share abstractions. The result will be a unified framework that supports efficient graph-mode execution with profiling, mobile deployment, extensive vendor integrations, and more. As with other open AI initiatives like ONNX, we're also partnering with other companies and the community to give more developers these accelerated research to production capabilities. To start, Microsoft plans to support PyTorch 1.0 in their Azure cloud and developer offerings, including Azure Machine Learning services and Data Science Virtual Machines, and Amazon Web Services currently supports the latest version of PyTorch, optimized for P3 GPU instances, and plans to make PyTorch 1.0 available shortly after release in their cloud offerings, including its Deep Learning AMI (Amazon Machine Image).&/p&&p&This is just the beginning, as we look to create and share better AI programming models, interfaces and automatic optimizations. AI is a foundational technology at Facebook today, making existing products better and powering entirely new experiences. By opening up our work via papers, code, and models, we can work with all AI researchers and practitioners to advance the state of the art faster and to help apply these techniques in new ways.&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//code.facebook.com/posts/505/announcing-pytorch-1-0-for-both-research-and-production/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&code.facebook.com/posts&/span&&span class=&invisible&&/505/announcing-pytorch-1-0-for-both-research-and-production/&/span&&span class=&ellipsis&&&/span&&/a&&/p&
注:这是对我在 上的回答的最新消息。因为原文是用英文写的,由于时间关系我没有再写中文版本,不过欢迎有兴趣的朋友翻译,我可以在文章中加入翻译的链接。Announcing PyTorch 1.0 for both research and pro…
&figure&&img src=&https://pic4.zhimg.com/v2-ab0c100cabe706effb54b28_b.jpg& data-rawwidth=&720& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic4.zhimg.com/v2-ab0c100cabe706effb54b28_r.jpg&&&/figure&&p&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-2a19a35ecae88cdc9ea859fa4b80befd_b.jpg& data-caption=&& data-rawwidth=&1412& data-rawheight=&709& class=&origin_image zh-lightbox-thumb& width=&1412& data-original=&https://pic1.zhimg.com/v2-2a19a35ecae88cdc9ea859fa4b80befd_r.jpg&&&/figure&&h2&&b&上篇文章讨论了一下DARPA的ERI电子复兴计划最近新增的两个架构方面的项目(&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3D1dbeef2824bf%26chksm%3Dead1fef5dda677eddcf5cbe63e76d12a5e6fa4b2f4ae42%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&通过DARPA项目看看芯片世界的“远方”- Architectures&/a&)。而新增的项目中还有两个设计领域的项目,IDEAS(Intelligent Design of Electronic Assets)和POSH(Posh Open Source Hardware)。和架构项目的大背景类似,这两个项目也是为了在摩尔定律难以继续的情况下,通过提高设计效率的方法降低整体成本,进而支持半导体产业的持续增长。恰逢Nvidia的NVDLA正式开源,我们正好也可以借这个热点讨论一下开源硬件的问题。&/b&&/h2&&b&&hr&&/b&&p&&b&Intelligent Design of Electronic Assets (IDEA)&/b&&/p&&blockquote&&i&“No human in the loop” 24-hour layout generation for mixed signal integrated circuits, systems-in-package, and printed circuit boards.&/i&&/blockquote&&p&下面这张图非常清楚的描述这个项目的目标。 &/p&&figure&&img src=&https://pic3.zhimg.com/v2-466bc37aae5ac5be2aed1_b.jpg& data-caption=&& data-rawwidth=&1411& data-rawheight=&904& class=&origin_image zh-lightbox-thumb& width=&1411& data-original=&https://pic3.zhimg.com/v2-466bc37aae5ac5be2aed1_r.jpg&&&/figure&&p&左边是目前芯片设计,封装设计和PCB设计的流程。而右侧是“明天”的理想状态:只要一个Domain Expert(TA不需要芯片设计,封装设计和PCB设计的技能)把设计扔给机器就行了。这个理想的工具怎么实现?当然是靠“&b&MACHINE LEARNING&/b&”啊。&/p&&p&&br&&/p&&blockquote&&i&“It is envisioned that the IDEA platform will leverage applied&/i& &i&machine learning&/i& &i&methodologies to&/i& &i&continuously evolve&/i& &i&and improve performance as new data sets become available. ”&/i& &i&“The&/i& &i&customization&/i& &i&offered&/i& &i&from training&/i& &i&will empower&/i& &i&differentiation&/i& &i&through the breadth and quality of&/i& &i&training sets available to the end user, providing specialized users with an&/i& &i&asymmetric advantage benefiting&/i& &i&from an existing database of designs.”&/i& &i&“It is anticipated that achieving the autonomy goals of the IDEA program will require breakthroughs in machine learning and optimization algorithms.”&/i&&/blockquote&&p&&br&&/p&&p&这个项目又分成两个技术领域:&br&&/p&&p&&b&TA-1&/b&: &b&Machine Generated Physical Layout&/b&: Development of a unified physical layout generator for digital and analog SoCs, SiPs, and PCBs.&/p&&p&&b&TA-2&/b&: &b&Intent Driven System Synthesis&/b&: Development of an intent-driven, correct-by construction system generator.&/p&&figure&&img src=&https://pic4.zhimg.com/v2-b5a45afb04cae52030c3aab1c2ac0a54_b.jpg& data-caption=&& data-rawwidth=&1216& data-rawheight=&539& class=&origin_image zh-lightbox-thumb& width=&1216& data-original=&https://pic4.zhimg.com/v2-b5a45afb04cae52030c3aab1c2ac0a54_r.jpg&&&/figure&&p&这里需要指出的是,这个项目主要是针对物理设计而言,并不包括芯片的前端设计(如果包括就太牛了)。TA-1所重点研究的就是一个通用的Physical Layout Generator。它的输入是“&i&(1) unannotated netlists for analog IC designs, (2) Verilog Register Transfer Level (RTL) and instantiated fixed circuit primitives/macros circuit blocks for digital IC designs, and (3) structured Verilog netlists for SiPs and PCBs.&/i&” 输出就是Layout结果&/p&&figure&&img src=&https://pic1.zhimg.com/v2-67cebd4ce27cd_b.jpg& data-caption=&& data-rawwidth=&1433& data-rawheight=&895& class=&origin_image zh-lightbox-thumb& width=&1433& data-original=&https://pic1.zhimg.com/v2-67cebd4ce27cd_r.jpg&&&/figure&&p&TA-2则主要是根据系统的需求,基于Commercial Off The Shelf (COTS)的组件,比如可用的封装,SiP用的die,SoC IP,生成设计网表,提供给TA-1工具进行物理设计。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-86b6cf6dca98d2f55583_b.jpg& data-caption=&& data-rawwidth=&1418& data-rawheight=&796& class=&origin_image zh-lightbox-thumb& width=&1418& data-original=&https://pic3.zhimg.com/v2-86b6cf6dca98d2f55583_r.jpg&&&/figure&&p&&b&T.S.:&/b&&/p&&p&&b&自动化设计工具一直是推动半导体产业的重要力量,而在摩尔定律越来越难以为继的今天就更为关键。如果能够解决IDEA项目提出的问题,无疑会大大提升芯片和硬件系统设计的生产力。但怎么实现这个看起来很美的目标呢?Machine Learning会是答案吗?我们拭目以待吧&/b&。&/p&&p&&br&&/p&&hr&&p&&b&Posh Open Source Hardware (POSH): &/b&&/p&&blockquote&&i&An open source System on Chip (SoC) design and verification eco-system that enables cost effective design of ultra-complex SoCs.&/i&&/blockquote&&p&今年五月的时候Nvidia宣布要开源一个Deep Learning Accelerator,我也做了一些分析(&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3D6cd37a49c512abb414c5ecechksm%3Dead1ffa9dda676bf8c9f7c3d3b7e963d380d533cd73a30cda736ac8a4%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&从Nvidia开源深度学习加速器说起&/a&)。而在9月26日,Nvidia正式在Github上公布公布了NVDLA初始开源版本,之后的报道和分析很多,我就不再赘述了。我们可以通过POSH这个项目,更多的讨论一下硬件开源这个更大的话题。&/p&&p&&b&首先,为什么需要开源硬件?&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-dc7faac35f827_b.jpg& data-caption=&& data-rawwidth=&1228& data-rawheight=&644& class=&origin_image zh-lightbox-thumb& width=&1228& data-original=&https://pic3.zhimg.com/v2-dc7faac35f827_r.jpg&&&/figure&&p&这张图描述的是目前的软件开发和SoC硬件设计的不同方法。不夸张的说,开源软件的蓬勃发展是目前软件开发可以快速、低成本的实现的一个关键。从Linux,GNU,Android到现在各种开源的AI Framework,成功的开源项目往往能够产生革命性的影响。而在硬件设计难度和成本越来越高的情况下,“能否在硬件领域复制开源软件的成功”,自然会成为一个值得考虑的问题。其实,硬件开源也不是新鲜的话题,之前有很多尝试,但成功的不多。&/p&&p&那么,&b&为什么硬件开源很难成功呢?&/b&我觉得关键还是要回答“&b&硬件开源是否经济?&/b&”这个问题。&/p&&p&我们做芯片设计的同学都应该很清楚,目前大家在一个芯片项目中投入的精力大量是用于验证的,因为芯片不能失败(或者有缺陷)。如果芯片硬件有绕不过去的bug,它带来的损失轻则是一次投片的费用打水漂,重则影响产品的上市时间或者公司的信誉,导致客户的流失,可能带来致命的打击。芯片项目和软件项目对Bug的容忍度有着根本的不同。所以,面对一个免费开源的硬件,在对它有足够的理解和验证测试之前你敢用吗?更不用说你可能还需要修改。如果你好不容易理解了这个设计,突然又有人增加了feature,提交了改动,你是不是还得再重新理解和验证一遍呢?另外,软件开源项目的一个重要指标是它的活跃度,有越多的人参与,它的进化就越快,越成功。硬件项目呢,更多开发者的参与是否意味着更大的风险和更高的成本呢?......&/p&&p&上述这些都可以归结为一个问题“&b&是否能有快速、有效、低成本的验证方法让我们能对开源硬件有信心呢?&/b&”&/p&&p&这个问题也是POSH项目关注的第一个技术领域:&/p&&p&&b&TA-1: Hardware Assurance Technology&/b&: Development of hardware assurance technology appropriate for signoff quality validation of deeply hierarchical analog and digital circuits of unknown origin.&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9a83e930c373d818e8847_b.jpg& data-caption=&& data-rawwidth=&1387& data-rawheight=&539& class=&origin_image zh-lightbox-thumb& width=&1387& data-original=&https://pic4.zhimg.com/v2-9a83e930c373d818e8847_r.jpg&&&/figure&&p&而它的基本的解决思路也无外乎现有的验证方法,包括Formal,Simulation,Emulation和Prototype。当然这个项目重点强调了“cost effective”,毕竟这个项目的核心就是通过开源硬件来降低芯片研发成本。比如,L1要求“&i&minimal (or zero) engineering effort from the user.&/i&”; L2 “&i&should demonstrate a productive, fast, and cost effective simulation platform that enables application centric high assurance validation of complex SoCs.&/i&”; L3 “&i&should demonstrate a cost effective hybrid emulation and prototyping platform to enable high assurance validation appropriate for open source SoC development.&/i&”&/p&&p&&br&&/p&&p&POSH项目关心的第二个技术领域是:&/p&&p&&b&TA-2: Open Source Hardware Technology:&/b& Development of design methods, standards, and critical IP components needed to kick-start a viable open source SoC eco-system.&/p&&p&这里就牵扯到开源的另一个问题,&b&生态&/b&。拿这次Nvidia的开源为例,NVDLA本来是Nvidia用于自动驾驶的SoC中的一部分,而这个SoC由很多模块组成,CPU,GPU,加速器,各种接口等等。DLA只是众多IP中的一个(虽然是很有名气的一个)。如果还没有感觉,可以看看同样用于自动驾驶的Mobileye的EyeQ4的框图。DLA也许相当于这其中的PMA或者ACC。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-6307eae3edd9aaa8011177_b.jpg& data-caption=&& data-rawwidth=&1024& data-rawheight=&854& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&https://pic2.zhimg.com/v2-6307eae3edd9aaa8011177_r.jpg&&&/figure&&p&图片来自&a href=&https://link.zhihu.com/?target=http%3A//www.imgtec.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&imgtec.com&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&br&&/p&&p&这两天不少同学看到NVDLA之后很兴奋,觉得加上个RSIC-V核就可以自己搞个AI芯片了,可能还是要三思啊。&/p&&p&&br&&/p&&p&那么POSH项目讲的“open source SoC eco-system”是个什么概念,大家可以看看POSH项目希望参与者能够开发的IP列表。 &/p&&figure&&img src=&https://pic1.zhimg.com/v2-deb08fa5a7abfe7e8da5a9_b.jpg& data-caption=&& data-rawwidth=&1546& data-rawheight=&1363& class=&origin_image zh-lightbox-thumb& width=&1546& data-original=&https://pic1.zhimg.com/v2-deb08fa5a7abfe7e8da5a9_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-a5fc6c10f6dc3f168a766b673bb72c9d_b.jpg& data-caption=&& data-rawwidth=&1540& data-rawheight=&829& class=&origin_image zh-lightbox-thumb& width=&1540& data-original=&https://pic1.zhimg.com/v2-a5fc6c10f6dc3f168a766b673bb72c9d_r.jpg&&&/figure&&p&一个芯片项目需要的生态是很复杂的,而一个SoC芯片是否能成功,也不是靠一两个免费开源的IP决定的。&/p&&p&&br&&/p&&p&&b&T.S.:&/b&&/p&&p&&b&硬件开源是一个讨论了很久的话题,最近由于Nvidia开源DLA获得了更多关注。说实话,我觉得POSH这个项目在DARPA这几个项目中,可能是最难取得实际进展的一个。软件开源的成功能否复制到硬件,既面临技术的挑战,又有生态和经济因素等诸多限制,非常困难。但不管怎么说,能将自己的知识成果分享给大家,RISC-V、NVDLA和其它开源硬件项目能够开源就是非常有价值的事情。&/b&&/p&&p&&br&&/p&&p&题图来自网络,版权归原作者所有&/p&&p&&br&&/p&&p&&b&推荐阅读 &/b&&/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3D1dbeef2824bf%26chksm%3Dead1fef5dda677eddcf5cbe63e76d12a5e6fa4b2f4ae42%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&通过DARPA项目看看芯片世界的“远方”- Architectures&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3De96aff832a2d606fe4cd%26chksm%3Dead1fed9dda677cfa483df13be391c7baf3c5a79df610cff4285eea%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Hot (AI) Chips 2017&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3D70ddd439dc33f3e8ace65%26chksm%3Dead1fe8cdda6779afe88fe7a8dd2693d0aae9425dfe6a74b96fb63e78afb1c6dc1e%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Deep Learning的IR“之争”&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3D75d8fc9a572f6b3a4d383c41d0f289aa%26chksm%3Dead1fe9dddab7a8d855ca56c029a788a9ad197682dba0dc%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Processors for AI : a List&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3Def3c9b5c96f%26chksm%3Dead1fe98dda76c51e1a3406eafaaf26d5ea14eascene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AI + 5G = 高通的未来汽车之道&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3D65db58afeea0c6e3de624%26chksm%3Dead1fe6bdda6777dee462d197e7e6d257d312a1879faab13ddbbe79a3b314b848ac4%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&解密又一个xPU:Graphcore的IPU&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dea03f0453cbba2a5e8be334b40c30c7a%26chksm%3Dead1fe79dda6776fccac659f4fabc9ed0fe57e5f5d683fcb03ba0f%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&给DNN处理器跑个分 - 设计篇&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3Daa3c868a39babeee8ab9336%26chksm%3Dead1fe70ddafea9d6c499c345e152e437a3b9aee8f3a4c60ascene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&给DNN处理器跑个分 - 指标篇&/a&&/u& &/p&&p&&u&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI3MDQ2MjA3OA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dd658ada2625%26chksm%3Dead1fe42ddaf9d42cb2dceb2dffee084e35bf34fe8%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Deep Learning Hardware - 我的文章&/a&&/u&&/p&&p&&br&&/p&&p&&b&欢迎订阅我的公众号StarryHeavensAbove&/b&&/p&&p&&/p&
上篇文章讨论了一下DARPA的ERI电子复兴计划最近新增的两个架构方面的项目()。而新增的项目中还有两个设计领域的项目,IDEAS(Intelligent Design of Electronic Assets)和POSH(Posh Open Source Har…
&p&关于人工智能的项目,相信大家都看过或者用过不少了,但它们的大多数看上去都十分“高大上”,让人感觉要掌握他们犹如习屠龙之术一样。事实上,有很多关于人工智能的项目还是十分实用的,而且用途还十分有趣,下面就简单为大家盘点 10 个功能独特的开源人工智能项目。&/p&&p&&b&STYLE2PAINTS:强大的为线稿上色的 AI&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/style2paints& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/style2pai&/span&&span class=&invisible&&nts&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&推荐理由:新一代的强大线稿上色 AI,可根据用户上传的自定义色彩给线稿进行上色。项目提供了在线使用网站,十分方便使用。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-ddede091c10b9f824e6cd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&360& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-ddede091c10b9f824e6cd_r.jpg&&&/figure&&p&&b&SerpentAI:教 AI 打游戏的学习框架&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/serpentai& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/serpentai&/span&&span class=&invisible&&&/span&&/a&&/p&&p&推荐理由:SerpentAI 旨在为机器学习和 AI 研究提供一个有价值的工具。但同时,对于爱好者来说,它也是非常有趣的。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-03e55fe371e2aa337bcfddeac3b81bf1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&480& data-rawheight=&270& data-thumbnail=&https://pic1.zhimg.com/v2-03e55fe371e2aa337bcfddeac3b81bf1_b.jpg& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&https://pic1.zhimg.com/v2-03e55fe371e2aa337bcfddeac3b81bf1_r.jpg&&&/figure&&p&&br&&/p&&p&&b&Synaptic.js:用于浏览器的神经网络库&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/synapticjs& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/synapticj&/span&&span class=&invisible&&s&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&推荐理由:Synaptic.js 是一个用于 node.js 和浏览器的 JavaScript 神经网络库,可以构建和训练基本上任何类型的一阶甚至二阶神经网络。&/p&&p&该项目内置了 4 种经典的神经网络算法:多层感知器(multilayer perceptrons)、长短期记忆网络(multilayer long-short term memory networks)、液体状态机(Liquid State Machine)、Hopfield神经网络。使用 Synaptic.js ,你可以轻松测试和比较不同体系结构的性能。&/p&&p&&b&Snake-AI:贪吃蛇游戏的人工智能 &br&&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/snake-ai& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/snake-ai&/span&&span class=&invisible&&&/span&&/a&&/p&&p&推荐理由:一个用 C/C++ 语言编写的贪吃蛇游戏的人工智能。使用了最短路径、最长路径、人工智能算法。&/p&&p&AI 的目的是让蛇尽可能的吃更多的食物,直到吃满整个地图。&/p&&p&&b&Demo&/b&&/p&&b&&figure&&img src=&https://pic2.zhimg.com/v2-ddb6436eaa2ab8c68e4cccde23d0f726_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&133& data-rawheight=&149& data-thumbnail=&https://pic2.zhimg.com/v2-ddb6436eaa2ab8c68e4cccde23d0f726_b.jpg& class=&content_image& width=&133&&&/figure&&/b&&p&&b&Uncaptcha&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/uncaptcha& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/uncaptcha&/span&&span class=&invisible&&&/span&&/a&&/p&&p&推荐理由:破解 reCAPTCHA 系统的 AI 算法。unCAPTCHA 算法以 85% 的成功率击败了 Google reCAPTCHA 系统。它依靠音频验证码攻击 - 使用浏览器自动化软件来解析必要的元素并识别语音号码,并以编程方式传递这些数字,最终成功欺骗目标网站。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-93bfbfbd81973_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&170& data-thumbnail=&https://pic2.zhimg.com/v2-93bfbfbd81973_b.jpg& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-93bfbfbd81973_r.jpg&&&/figure&&p&&b&Sockeye:神经机器翻译框架&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/sockeye& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/sockeye&/span&&span class=&invisible&&&/span&&/a&&/p&&p&推荐理由:Sockeye 是一个基于 Apache MXNet 的快速而可扩展的深度学习库。&/p&&p&Sockeye 代码库具有来自 MXNet 的独特优势。例如,通过符号式和命令式 MXNet API,Sockeye 结合了陈述式和命令式编程风格;它同样可以在多块 GPU 上并行训练模型。&/p&&p&Sockeye 实现了 MXNet 上当前最佳的序列到序列模型。它同样为所有序列到序列模型的超参数提供恰当的默认值。对于优化,无需担心停止标准、指标跟踪或者权重初始化。可以简单地运行已提供的训练命令行界面(CLI),也可以轻易改变基础模型架构。&/p&&p&&b&PHP-ML:PHP 机器学习库&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/php-ml& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/php-ml&/span&&span class=&invisible&&&/span&&/a&&/p&&p&推荐理由:我们都知道 Python 或者是 C++ 提供了更多机器学习的库,但他们大多都比较复杂,配置起来让很多新手感到头疼。&/p&&p&PHP-ML 这个机器学习库虽然没有特别高大上的算法,但其具有最基本的机器学习、分类等算法,小项目或者小公司做一些简单的数据分析、预测等等足以够用。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d1be9d38b5a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&383& data-rawheight=&274& class=&content_image& width=&383&&&/figure&&p&PHP-ML 是使用 PHP 编写的机器学习库。同时包含算法,交叉验证,神经网络,预处理,特征提取等&/p&&p&&b&CycleGAN:生成对抗网络图像处理工具&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/cyclegan& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/cyclegan&/span&&span class=&invisible&&&/span&&/a&&/p&&p&推荐理由:这个工具功能十分强大,不仅可将绘画作品“还原”成照片(可理解为是一个 “反滤镜”),还能将夏天转换成冬天,或将普通的马转化成斑马。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-de03fe55617afcacc250e4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&442& data-rawheight=&129& class=&origin_image zh-lightbox-thumb& width=&442& data-original=&https://pic1.zhimg.com/v2-de03fe55617afcacc250e4_r.jpg&&&/figure&&p&与其它人工智能绘画不同,CycleGAN 的研究团队试图建立一个可双向转化不丢失信息的双向算法。&/p&&p&在 CycleGAN 里照片的细节被要求完全保留,研究人员希望能够将一张图片输入 CycleGAN 后进行多次反复转化(照片→绘画→照片→绘画→照片),最终可以获得与原始照片相同或相近的图片。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e5cef00b6fc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&750& data-rawheight=&271& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&https://pic2.zhimg.com/v2-e5cef00b6fc_r.jpg&&&/figure&&p&&b&DeepLearn.js:加速硬件的机器学习JS库&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/deeplearn-js& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/deeplearn&/span&&span class=&invisible&&-js&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&DeepLearn.js 是谷歌推出的一个可用于机器智能并加速 WebGL 的开源 JavaScript 库,完全在浏览器中运行,不需要安装,不需要后端处理。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-8449bdef80e65b1eaeb1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1284& data-rawheight=&628& data-thumbnail=&https://pic2.zhimg.com/v2-8449bdef80e65b1eaeb1_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1284& data-original=&https://pic2.zhimg.com/v2-8449bdef80e65b1eaeb1_r.jpg&&&/figure&&p&DeepLearn.js 提供高效的机器学习构建模块,使我们能够在浏览器中训练神经网络或在推断模式中运行预训练模型。它提供构建可微数据流图的 API,以及一系列可直接使用的数学函数。&/p&&p&虽然浏览器上的机器学习库已经存在多年(例如 Andrej Karpathy 的 convnetjs),但是它们受到 JavaScript 速度的限制,或者局限于推理而不能用于训练(例如 TensorFire)。&/p&&p&相比之下,deeplearn.js 通过利用 WebGL 在GPU上执行计算,以及进行完全反向传播(full backpropagation)的能力,实现了显着的加速。&/p&&p&&b&TensorFire:浏览器端神经网络框架 &/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/tensorfire& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&oschina.net/p/tensorfir&/span&&span class=&invisible&&e&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&推荐理由:TensorFire 是基于 WebGL 的,运行在浏览器中的神经网络框架。使用 TensorFire 编写的应用能够在实现前沿深度学习算法的同时,不需要任何的安装或者配置就直接运行在现代浏览器中。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9bfde0dddeec7b8259185f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1190& data-rawheight=&537& data-thumbnail=&https://pic4.zhimg.com/v2-9bfde0dddeec7b8259185f_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1190& data-original=&https://pic4.zhimg.com/v2-9bfde0dddeec7b8259185f_r.jpg&&&/figure&&p&与之前某些浏览器内的神经网络框架相比,TensorFire 有着近百倍的速度提升,甚至于能够与那些运行在本地 CPU 上的代码性能相媲美。 &/p&&p&开发者也可以使用 TensorFire 提供的底层接口来进行其他的高性能计算,譬如 PageRank、元胞自动机仿真、图片转化与过滤等等。&/p&
关于人工智能的项目,相信大家都看过或者用过不少了,但它们的大多数看上去都十分“高大上”,让人感觉要掌握他们犹如习屠龙之术一样。事实上,有很多关于人工智能的项目还是十分实用的,而且用途还十分有趣,下面就简单为大家盘点 10 个功能独特的开源人工…
&figure&&img src=&https://pic1.zhimg.com/v2-00bdadfb0b4d0f3663e75baae8e7cf7d_b.jpg& data-rawwidth=&740& data-rawheight=&471& class=&origin_image zh-lightbox-thumb& width=&740& data-original=&https://pic1.zhimg.com/v2-00bdadfb0b4d0f3663e75baae8e7cf7d_r.jpg&&&/figure&&p&&b&大数据文摘作品&/b&&/p&&p&&b&专栏作者|不看镜头的ZARD&/b&&/p&&p&今天早晨,ICLR 2018的论文接受结果揭晓,我们就带大家来大致了解一下今年ICLR 2018的论文接受概况。&/p&&p&&br&&/p&&p&ICLR全称International Conference of Learning Representation,是由Lecun,Hinton和Bengio三位神经网络的元老联手发起的。&b&近年来随着深度学习在工程实践中的成功,ICLR会议也在短短的几年中发展成为了神经网络的顶会。&/b&&/p&&p&&br&&/p&&p&论文接受率:&/p&&p&2.3%的口头展示,31.4%的poster接受,9%的workshop,51%拒绝。&/p&&p&&br&&/p&&p&&br&&/p&&blockquote&&b&ICLR口头展示论文速览:&/b&&/blockquote&&p&&br&&/p&&p&ICLR口头论文中一大半的论文会成为ICLR Best paper,同时也代表了2018年的研究方向,下面我们就简单的介绍一下今年的oral论文,由于ICLR会议的论文范围较广,方向比较新,我们也不能够做到面面俱到。&/p&&p&&br&&/p&&blockquote&&b&Wasserstein Auto-Encoders
(Max Planck Institute)&/b&&/blockquote&&p&&br&&/p&&p&&b&这篇论文提出了在Variation Auto-Encoder中使用Wasserstein距离进行度量,从而第一次让VAE能够产生跟Generative Adversarial Network比肩的效果。&/b&并且WAE在理论上面联系了VAE和GAN。是一篇不可多得理论与实践兼得的好论文。WAE产生的图像如下图:&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a7fed4a57dcbc5b7cb024f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1078& data-rawheight=&944& class=&origin_image zh-lightbox-thumb& width=&1078& data-original=&https://pic3.zhimg.com/v2-a7fed4a57dcbc5b7cb024f_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&blockquote&&b&Spherical CNNs (阿姆斯特丹大学Max Welling组)&/b&&/blockquote&&p&&br&&/p&&p&卷积神经网络只能够在2D planar图像中使用,但是近年来很多问题如机器人运动,自动驾驶需要对spherical image进行分析。传统的方法是将spherical image投影到2D planar图像,但是这个过程会产生distortion,如下图:&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-9d6a9d92bb02bc9e198c4c16397ce2fd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&360& data-rawheight=&346& class=&content_image& width=&360&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&于是作者提出了spherical CNN。Spherical CNN通过傅立叶变换来避免过度的计算。通过傅立叶变换来实现spherical CNN的示意图如下:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-be3cc4bab0a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&784& data-rawheight=&290& class=&origin_image zh-lightbox-thumb& width=&784& data-original=&https://pic4.zhimg.com/v2-be3cc4bab0a_r.jpg&&&/figure&&p&&br&&/p&&p&相信本篇论文提出的spherical CNN能够在自动驾驶,机器人运动的任务中得到广泛的应用。&/p&&p&&br&&/p&&blockquote&&b&Boosting Dilated Convolution with Mixed Tensor Decomposition &/b&&/blockquote&&p&&br&&/p&&p&本篇论文通过tensor decomposition的角度来分析神经网络,并且提出了mix tensor decomposition的方法来提高神经网络的表达能力。作者在实践中使用了mix dilation的办法来进行mix tensor decomposition。结构图如下:&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-4bfefddd8fe6bdc46bf498ffae30a0a9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&733& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic2.zhimg.com/v2-4bfefddd8fe6bdc46bf498ffae30a0a9_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&两个对偶的网络weight sharing,仅仅通过dilation的变化就可以得到不同的连接,提高神经网络的expressive efficiency。&/p&&p&&br&&/p&&p&本篇论文的理论分析详尽,并且论文讲述简单易懂,美中不足的是实验部分太弱,但是也不影响该论文被接受为oral。&/p&&p&&br&&/p&&blockquote&&b&Ask the right questions:active question reformulation with reinforcement learning(Google)&/b&&/blockquote&&p&&br&&/p&&p&这篇论文提出了一个做question answering的新的思路,通过question reformulation将一个问题转换成类似的问题,然后反复的选择最佳问题。Question reformulation和answer selection通过强化学习进行训练。流程图如下:&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-ee9b69af813a29f0b1ad4c26292dfee7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&548& data-rawheight=&374& class=&origin_image zh-lightbox-thumb& width=&548& data-original=&https://pic1.zhimg.com/v2-ee9b69af813a29f0b1ad4c26292dfee7_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&blockquote&&b&ICLR趣闻&/b&&/blockquote&&p&&br&&/p&&p&由于ICLR的审稿意见是公开的,所以我们可以看到作者和审阅者之间的思想碰撞,下面我们就介绍一些有趣的事情。&/p&&p&&br&&/p&&blockquote&&b&Mix-up
vs “Data Augmentation by paring samples for images classification”&/b&&/blockquote&&p&&br&&/p&&p&这两篇论文提出了类似的方法,通过将数据库的图像的线形组合来做Data Augmentation,并且在CIFAR,IMAGENET上面都取得了好的结果,&b&但是Mix-up被接受,paring samples被拒绝。&/b&&/p&&p&&br&&/p&&blockquote&&b&Matrix capsules with EM routing&/b&&/blockquote&&p&&br&&/p&&p&这篇论文是神经网络之父的CapsuleNet的后续,也被ICLR接受了,Geoffrey Hinton是该论文的第一作者。&/p&&p&&br&&/p&&blockquote&&b&Progressive Growing of GANs &/b&&/blockquote&&p&&br&&/p&&p&这篇论文是NVIDIA提出的使用GAN生成high resolution image的论文,由于在论文中违反了double blind原则,在review阶段被拒绝(strong reject),&b&但是由于其amazing的结果,在最后阶段被ICLR接收。&/b&&/p&&p&&br&&/p&&p&附上大会及相关链接,感兴趣的读者可以自行查看:&/p&&p&&br&&/p&&p&ICLR 2018会议链接:&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//openreview.net/group%3Fid%3DICLR.cc/2018/Conference& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&openreview.net/group?&/span&&span class=&invisible&&id=ICLR.cc/2018/Conference&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&论文链接:&/p&&p&Ask the right question:&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//openreview.net/pdf%3Fid%3DS1CChZ-CZ& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&openreview.net/pdf?&/span&&span class=&invisible&&id=S1CChZ-CZ&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&Wasserstein Auto-Encoders:&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//openreview.net/pdf%3Fid%3DHkL7n1-0b& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&openreview.net/pdf?&/span&&span class=&invisible&&id=HkL7n1-0b&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&Spherical CNNs:&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//openreview.net/pdf%3Fid%3DHkbd5xZRb& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&openreview.net/pdf?&/span&&span class=&invisible&&id=Hkbd5xZRb&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&/p&
大数据文摘作品专栏作者|不看镜头的ZARD今天早晨,ICLR 2018的论文接受结果揭晓,我们就带大家来大致了解一下今年ICLR 2018的论文接受概况。 ICLR全称International Conference of Learning Representation,是由Lecun,Hinton和Bengio三位神经网络的元老…
&p&云栖君通过以下三部分来回答下这个问题:&/p&&h2&&b&一. &/b&&a href=&//link.zhihu.com/?target=http%3A//click.aliyun.com/m/40801/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&神经网络入门指南&/a&&/h2&&p&多层感知器和反向传播算法是什么?他们的工作原理又是怎样的?刚刚入门机器学习的你,是不是还在被这些问题困扰呢?今天我们就通过一些生动形象的例子来向大家介绍神经网络。&/p&&p&人工神经网络(ANN)是一种从信息处理角度对人脑神经元网络进行抽象从而建立的某种简单模型,按不同的连接方式组成不同的网络。其在语音识别、计算机视觉和文本处理等方面取得的突破性成果。在下文,我们将深入了解一种名为多层感知器的人工神经网络。 &/p&&p&&b&神经元&/b&&/p&&p&在神经网络中,神经元是计算的基本单元,也被称为节点或单元。它接受其他节点或外部的输入,在计算后产生输出。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(w)。该节点将一个函数f(定义如下)作用于输入的加权和,如下图所示&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-8f506cfb1ae00cf2ddd9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1206& data-rawheight=&644& class=&origin_image zh-lightbox-thumb& width=&1206& data-original=&https://pic4.zhimg.com/50/v2-8f506cfb1ae00cf2ddd9_r.jpg&&&/figure&&p&上述网络采用数值输入X1和X2、与输入相关联的权重w1和w2以及输入权重b(称为偏置)。稍后我们会介绍更多关于偏置的细节。神经元输出Y的计算上图所示。函数f是非线性的,称为激活函数。它的作用是将非线性引入到神经元的输出中,以此达到神经元学习非线性表示的目的,满足实际环境的数据要求。 &/p&&p&每个激活函数都取一个数并对它进行特定的运算。在实际应用中我们可能会遇到下面几种激活函数: &/p&&p&Sigmoid函数:σ(x)=1/(1+exp(-x))&/p&&p&tanh函数:tanh(x)=2σ(2x)-1&/p&&p&ReLU函数:f(x)=max(0, x)&/p&&p&下面是这几个激活函数的图像&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-3c98a9f5c10f38d5bafa2db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1652& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&1652& data-original=&https://pic3.zhimg.com/50/v2-3c98a9f5c10f38d5bafa2db_r.jpg&&&/figure&&p&偏差的重要性:如果没有偏置的话,我们所有的分割线都是经过原点的,但是现实问题并不会那么如我们所愿.都是能够是经过原点线性可分的。&/p&&p&&b&前馈神经网络&/b&&/p&&p&前馈神经网络是第一个也是最简单的人工神经网络,各神经元从输入层开始,接收前一级输入,并输出到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。&/p&&p&前馈神经网络结构如下图所示&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-bbaf86b302e4c0f874c1888bbdfd73dd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1304& data-rawheight=&964& class=&origin_image zh-lightbox-thumb& width=&1304& data-original=&https://pic3.zhimg.com/50/v2-bbaf86b302e4c0f874c1888bbdfd73dd_r.jpg&&&/figure&&p&前馈神经网络由三种节点组成:&/p&&p&1.输入节点-输入阶段将来自外部的信息提供给网络,统称为“输入层”。任何输入节点都不执行计算,它们只是将信息传递给隐含阶段。&/p&&p&2.隐含节点-隐含节点与外界没有直接联系(因此名称为“隐含”)。他们执行计算并将信息从输入节点传输到输出节点。隐藏节点的集合形成“隐藏层”。虽然前馈网络只有一个输入层和一个输出层,但它可以没有或有多个隐藏层。&/p&&p&3.输出节点-输出节点统称为“输出层”,负责计算并将信息从网络传输到外部世界。&/p&&p&前馈网络的两个例子如下:&/p&&p&1.单层感知器-这是最简单的前馈神经网络,不包含任何隐藏层。&/p&&p&2.多层感知器- 多层感知器具有一个或多个隐藏层。我们只讨论下面的多层感知器,因为它们比实际应用中的单层感知器更常用。&/p&&p&&b&多层感知器&/b&&/p&&p&多层感知器(MLP)包含一个或多个隐藏层(除了一个输入层和一个输出层)。单层感知器只能学习线性函数,而多层感知器也可以学习非线性函数。&/p&&p&下图显示了具有单个隐藏层的多层感知器。需要注意的是,所有连接都有与之相关的权重,但图中只显示了三个权重(w0,w1,w2)。&/p&&p&输入层:输入层有三个节点。偏置节点的值为1,其他两个节点将X1和X2作为外部输入(数字值取决于输入数据集)。&/p&&p&如上所述,在输入层中不执行计算,所以来自输入层中的节点的输出分别是1,X1和X2,这些输入被馈送到隐藏层中。&/p&&p&隐藏层:隐藏层也有三个节点,其偏置节点的输出为1,隐藏层中另外两个节点的输出取决于输入层(1,X1,X2)的输出以及与其相关的权重。&/p&&p&下图显示了其中一个隐藏节点的输出计算。同样,可以计算其他隐藏节点的输出。然后,这些输出被反馈到输出层中的节点。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-398f69b0c56c6be10ed766_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1128& data-rawheight=&969& class=&origin_image zh-lightbox-thumb& width=&1128& data-original=&https://pic4.zhimg.com/50/v2-398f69b0c56c6be10ed766_r.jpg&&&/figure&&p&输出层:输出层有两个节点,它们从隐藏层获取输入,并执行与隐藏节点相似的计算。计算结果(Y1和Y2)将成为多层感知器的输出。&/p&&p&给定一组特征X =(x1,x2,...)和一个目标y,多层感知器可以学习特征和目标之间的关系,无论是分类还是回归。&/p&&p&我们举个例子来更好地理解多层感知器。假设我们有以下的学生标记数据集:&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-b59bf97cb3fb493e875f6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&536& data-rawheight=&202& class=&origin_image zh-lightbox-thumb& width=&536& data-original=&https://pic3.zhimg.com/50/v2-b59bf97cb3fb493e875f6_r.jpg&&&/figure&&p&两个输入栏显示学生学习的小时数和学生获得的期中分数。最终结果栏可以有两个值1或0,表示学生是否通过了期末测试。例如,我们可以看到,如果学生学习了35个小时,并在期中获得了67分,他最终通过了期末测试。&/p&&p&现在假设我们想预测一个学习25小时,期中70分的学生是否能通过期末测试。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-a8da75cacc2dca3bae34a89_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&526& data-rawheight=&70& class=&origin_image zh-lightbox-thumb& width=&526& data-original=&https://pic1.zhimg.com/50/v2-a8da75cacc2dca3bae34a89_r.jpg&&&/figure&&p&这是一个二元分类问题,其中多层感知器可以从给定的例子(训练数据)中学习,并给出一个新的数据点的预测。我们将在下面看到多层感知器如何学习这种关系。&/p&&p&&b&训练我们的多层感知器&/b&&/p&&p&下图所示的多层感知器在输入层(除了偏置节点之外)有两个节点,它们采用输入“小时分析”和“期中标记”。它也有一个带有两个节点(除了偏置节点)的隐藏层。输出层也有两个节点 - 上层节点输出“通过”的概率,而下层节点输出“失败”的概率。&/p&&p&在分类任务中,我们通常使用Softmax函数作为多层感知器的输出层中的激活函数,以确保输出是确实存在的,并且它们概率相加为1。Softmax函数采用任意实值向量,并且将其化为一个在0和1之间的矢量,其总和为1。所以,在这种情况下&/p&&p&P(合格)+P(不合格)= 1&/p&&p&&b&第1步:向前传播&/b&&/p&&p&网络中的所有权重都是随机分配的。让我们考虑图中标记为V的隐藏层节点。假设从输入到该节点的连接的权重是w1,w2和w3(如图所示)。&/p&&p&然后网络将第一个训练样例作为输入(我们知道对于输入35和67,通过的概率是1)。&/p&&ul&&li&输入到网络= [35,67]&/li&&li&来自网络的期望输出(目标)= [1,0]&/li&&/ul&&p&那么考虑节点的输出V可以计算如下(f是一个激活函数,如Sigmoid函数):&/p&&p&V = f(1 * w1 + 35 * w2 + 67 * w3)&/p&&p&同样,也计算隐藏层中另一个节点的输出。隐藏层中两个节点的输出作为输出层中两个节点的输入。这使我们能够计算输出层中两个节点的输出概率。&/p&&p&假设输出层两个节点的输出概率分别为0.4和0.6(因为权重是随机分配的,所以输出也是随机的)。我们可以看到,计算的概率(0.4和0.6)与期望的概率(分别为1和0)相差很远,因此图中的网络被认为有“不正确的输出”。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-bff3ccf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1138& data-rawheight=&330& class=&origin_image zh-lightbox-thumb& width=&1138& data-original=&https://pic4.zhimg.com/50/v2-bff3ccf_r.jpg&&&/figure&&p&&b&第2步:向后传播和权重更新&/b&&/p&&p&我们计算输出节点处的总误差,并使用反向传播将这些误差返回网络以计算梯度。然后,我们使用一种优化方法诸如梯度下降,以减小输出层误差在网络中的权重。这将在下面的图中显示。&/p&&p&假设与所考虑的节点相关的新权重是w4,w5和w6(在反向传播和调整权重之后)。 &/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-c4b27bf96c2f148efc851bb6021700eb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1120& data-rawheight=&468& class=&origin_image zh-lightbox-thumb& width=&1120& data-original=&https://pic3.zhimg.com/50/v2-c4b27bf96c2f148efc851bb6021700eb_r.jpg&&&/figure&&p&如果我们现在再次向网络输入相同的示例,则网络应该比以前执行得更好,因为权重现在已经被调整到最小化误差。如图所示,与之前的[0.6,-0.4]相比,输出节点的误差现在降低到[0.2,-0.2]。这意味着我们的神经网络已经学会了正确的分类我们的第一个训练样例。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-393f506df4cff2a480c596_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1130& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&1130& data-original=&https://pic2.zhimg.com/50/v2-393f506df4cff2a480c596_r.jpg&&&/figure&&p&我们在数据集中重复这个过程和所有其他的训练样例。那么,神经网络将完全学会这些例子。&/p&&p&如果我们现在要预测一个学习25小时,期中有70分的学生是否能通过期末测试,我们就要经过前向传播步骤,找到通过和失败的概率。&/p&&p&&b&多层感知器的三维可视化&/b&&/p&&p&Adam Harley创建了一个已经在手写数字的MNIST数据库上训练(使用反向传播)的多层感知器的三维可视化。&/p&&p&网络将784个数字像素值作为来自手写数字(其在输入层中具有对应于像素的784个节点)的28×28图像的输入。网络在第一个隐藏层有300个节点,第二个隐藏层有100个节点,输出层有10个节点(对应于10个数字)。&/p&&p&虽然这里描述的网络比前一节讨论的要大得多(使用更多的隐藏层和节点),但正向传播步骤和反向传播步骤中的所有计算都是按照相同的方式(在每个节点处)进行的之前。&/p&&p&下图显示的是当输入是数字“5”时的网络。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-a1e776bf59464b63fac2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1980& data-rawheight=&684& class=&origin_image zh-lightbox-thumb& width=&1980& data-original=&https://pic4.zhimg.com/50/v2-a1e776bf59464b63fac2_r.jpg&&&/figure&&p&较亮的颜色表示比其他更高的输出值的节点。在输入层中,亮节点是那些接收较高像素值作为输入的节点。在输出层中,唯一亮节点对应于数字5(它的输出概率为1,比输出概率为0的其他九个节点高)。这表明MLP已经正确分类输入的数字。我强烈推荐使用这个可视化例子来观察不同层次的节点之间的连接。&/p&&h2&&b&二. &/b&&a href=&//link.zhihu.com/?target=http%3A//click.aliyun.com/m/40802/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&神经网络入门实例&/a&&/h2&&p&这里有一个灰度图像的集合,每个图像都是一个2x2的像素网格,每个像素在0(白色)和255(黑色)之间有一个强度值。我们的目标是建立一个模型,利用“阶梯”模式识别图像。 &/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-a4aafeac164ce8acb14dc815d62bd9fc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&735& data-rawheight=&324& class=&origin_image zh-lightbox-thumb& width=&735& data-original=&https://pic3.zhimg.com/50/v2-a4aafeac164ce8acb14dc815d62bd9fc_r.jpg&&&/figure&&p&在这篇文章,我们只关心是否能够合理地匹配数据的模型。&/p&&p&&b&预处理&/b&&/p&&p&对于每个图像,我们将像素用x1、x2、x3、x4标记,并生成一个输入向量\mathbf{x}&/p&&p&\mathbf{x} = \begin{bmatrix}x_1 & x_2 & x_3 & x_4\end{bmatrix}&/p&&p&这将是我们的模型的输入。我们期望我们的模型能够预测真(图像有阶梯模式)或假(图像没有阶梯模式)。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-ccbeefbddf3ac123b32487e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&306& data-rawheight=&259& class=&content_image& width=&306&&&/figure&&figure&&img src=&https://pic1.zhimg.com/50/v2-6bceac994c0aac4d95d034d013e3c2ce_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&552& data-rawheight=&510& class=&origin_image zh-lightbox-thumb& width=&552& data-original=&https://pic1.zhimg.com/50/v2-6bceac994c0aac4d95d034d013e3c2ce_r.jpg&&&/figure&&p&&b&单层感知器(模型迭代0)&/b&&/p&&p&我们构建一个简单的模型,是一个单层感知器。感知器使用输入的加权线性组合来返回一个预测值。如果预测的分数超过了选定的阈值,感知器就能预测为真,否则预测为假。&/p&&p&f(x)={\begin{cases} 1 &{\text{if }}\ w_1x_1 + w_2x_2 + w_3x_3 + w_4x_4 & threshold\\ 0 & {\text{otherwise}} \end{cases}}&/p&&p&让我们把它重新表述如下:&/p&&p&\widehat y = \mathbf w \cdot \mathbf x + b&/p&&p&f(x)={\begin{cases} 1 &{\text{if }}\ \widehat{y} & 0\\ 0 & {\text{otherwise}} \end{cases}}&/p&&p&\widehat{y} 是我们的预测分数。&/p&&p&从以下图像上来说,我们可以把一个感知器作为输入节点。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-c72dd562a7b8cf415b464b234fffb203_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&679& data-rawheight=&462& class=&origin_image zh-lightbox-thumb& width=&679& data-original=&https://pic1.zhimg.com/50/v2-c72dd562a7b8cf415b464b234fffb203_r.jpg&&&/figure&&p&假设我们构建了以下感知器:&/p&&p&\widehat{y} = -0.0019x_1 + -0.0016x_2 + 0.0020x_3 + 0.0023x_4 + 0.0003&/p&&p&以下是感知器在一些训练图像上的表现:&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-3b7ee54faf1dc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&761& data-rawheight=&179& class=&origin_image zh-lightbox-thumb& width=&761& data-original=&https://pic3.zhimg.com/50/v2-3b7ee54faf1dc_r.jpg&&&/figure&&p&这肯定比随机猜测要好,而且也有一定的逻辑意义,但是这个模型还是存在一些明显的问题。&/p&&p&1.模型输出一个实数,其值与可能性的概念相关联(较高的值意味着图像代表阶梯的可能性更大),但不能将这些值作为概率的基础,因为它们可以在0-1范围之外。&/p&&p&2.该模型不能反映变量与目标之间的非线性关系。&/p&&p&请考虑以下情况:&/p&&p&情况A:&/p&&p&从一个图像开始,x=[100,0,0,125]。将x_3从0增加到60。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-30b1c57aad8e40ed0cf640d14db4b893_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&350& data-rawheight=&204& class=&content_image& width=&350&&&/figure&&p&情况B:&/p&&p&从上个图像开始,x=[100,0,60,125]。将x_3从60增加到120。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-750eec9c952b711460dbefc4c1ffa87a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&350& data-rawheight=&204& class=&content_image& width=&350&&&/figure&&p&直观地说,在 \widehat{y} 中,A的值应该比情形B大得多。然而,由于我们的感知器模型是一个线性方程,所以x_3的改变在这两种情况下,在\widehat{y}中产生了等价的+0.12的变化。&/p&&p&现在我们先来解决这两个问题。&/p&&p&&b&带有Sigmoid激励函数的单层感知器(模型迭代1)&/b&&/p&&p&我们可以通过将感知器封装在一个sigmoid函数中(随后选择不同的权重)来解决上面的问题。回忆一下,sigmoid函数是一个S形曲线,在0到1之间的垂直轴上有一个S形曲线,因此经常被用来模拟一个二进制事件的概率。&/p&&p&sigmoid(z) = \frac{1}{1 + e^{-z}}&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-bc33ae2469b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&500& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic2.zhimg.com/50/v2-bc33ae2469b_r.jpg&&&/figure&&p&因此,我们可以用下面的图片和等式来更新我们的模型:&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-999c1b8d578a3abae4f6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&674& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&674& data-original=&https://pic3.zhimg.com/50/v2-999c1b8d578a3abae4f6_r.jpg&&&/figure&&p&z = w \cdot x = w_1x_1 + w_2x_2 + w_3x_3 + w_4x_4&/p&&p&\widehat y = sigmoid(z) = \frac{1}{1 + e^{-z}}&/p&&p&看起来熟悉吗?这是逻辑回归,它是一个sigmoid“激励函数”,这给我们提供了更大的泛化空间。此外,由于我们现在将\widehat y 解释为一个概率,因此我们必须相应地更新我们的决策规则:&/p&&p&f(x)={\begin{cases} 1 &{\text{if }}\ \widehat{y} & 0.5\\ 0 & {\text{otherwise}} \end{cases}} &/p&&p&继续我们上述问题,假设我们提出了以下合适的模型:&/p&&p&\begin{bmatrix} w_1 & w_2 & w_3 & w_4 \end{bmatrix} = \begin{bmatrix} -0.140 & -0.145 & 0.121 & 0.092 \end{bmatrix}
b = -0.008 &/p&&p&\widehat y = \frac{1}{1 + e^{-(-0.140x_1 -0.145x_2 + 0.121x_3 + 0.092x_4 -0.008)}} &/p&&p&现在观察该模型在相同示例图像上执行的结果。&/p&&p&显然,这修复了上面的问题1。&/p&&p&情况A&/p&&p&从一个图像开始,x=[100,0,0,125]。将x_3从0增加到60。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-c6cdbb51cbfe35fb2b92d89b47655c52_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&350& data-rawheight=&204& class=&content_image& width=&350&&&/figure&&p&情况B&/p&&p&从上个图像开始,x=[100,0,60,125]。将x_3从60增加到120。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-8ce77d0ac0df6c2ae066d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&350& data-rawheight=&204& class=&content_image& width=&350&&&/figure&&p&注意,当 z = w \cdot x增加时,sigmoid函数的曲率将导致A快速增加,但是随着z的不断增加,速度会减慢。这与我们的直觉一致,即A情况是阶梯的可能性比B情况更大。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-467a24fcced30c893a5fb2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&774& data-rawheight=&321& class=&origin_image zh-lightbox-thumb& width=&774& data-original=&https://pic1.zhimg.com/50/v2-467a24fcced30c893a5fb2_r.jpg&&&/figure&&p&不幸的是,这个模型仍然有以下问题:&/p&&p&1. \widehat y 与每个变量都有一个单调的关系,如果我们想要识别出有轻度阴影的阶梯呢?&/p&&p&2.假设图像的最下面一行是黑色的。如果左上角的像素是白色的,那么最右边的像素就会变暗,这就增加了阶梯的可能性。如果左上角的像素是黑色的,那么最右边的像素就会变暗,这就会降低阶梯的可能性。换句话说,x_3的变化可能会增加或减少\widehat y ,这取决于其他变量的值。我们目前的模式没有办法做到这一点。&/p&&p&&b&带有Sigmoid激励函数的多层感知器(Model迭代2)&/b&&/p&&p&我们可以通过在感知器模型中添加一个额外的层来解决上述两个问题。首先构建一些基本模型,然后我们将把每个基本模型的输出作为输入,输入到另一个感知器。这个模型实际上是一个普通的神经网络。让我们看看它在一些例子中是如何工作的。&/p&&p&&b&例1:识别阶梯模式&/b&&/p&&p&1.当“左阶梯”被识别出来时,建立一个模型并触发\widehat y_{left}。&/p&&p&2.当“右阶梯”被识别出来时,建立一个模型并触发\widehat y_{right}。&/p&&p&3.添加基本模型的分数,以便最终的sigmoid函数只有当\widehat y_{left}和\widehat y_{right}值增大时才会触发。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-1ce4d9588f1fdb1f56e84b82a62ed213_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&739& data-rawheight=&437& class=&origin_image zh-lightbox-thumb& width=&739& data-original=&https://pic1.zhimg.com/50/v2-1ce4d9588f1fdb1f56e84b82a62ed213_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-af78fd7b87dbd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&753& data-rawheight=&161& class=&origin_image zh-lightbox-thumb& width=&753& data-original=&https://pic1.zhimg.com/50/v2-af78fd7b87dbd_r.jpg&&&/figure&&p&另外&/p&&p&1.? 当最下面一行是黑色时,构建一个模型并触发\widehat y_1。&/p&&p&2.当左上角的像素是黑色,右上角的像素是亮的时候,构建一个模型,并触发\widehat y_2。&/p&&p&3.当左上角的像素是亮的,右上角的像素是黑色的时候,构建一个模型并触发\widehat y_3。&/p&&p&4.添加基本模型,这样,如果\widehat y_1和\widehat y_2很大,或者\widehat y_1和\widehat y_3是很大的,那么最终的sigmoid函数会被触发。(请注意,\widehat y_2和\widehat y_3不能都是大的)&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-ec733be477_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&760& data-rawheight=&495& class=&origin_image zh-lightbox-thumb& width=&760& data-original=&https://pic4.zhimg.com/50/v2-ec733be477_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-cbb46078f6dbb88c080afc7b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&769& data-rawheight=&168& class=&origin_image zh-lightbox-thumb& width=&769& data-original=&https://pic4.zhimg.com/50/v2-cbb46078f6dbb88c080afc7b_r.jpg&&&/figure&&p&&br&&/p&&p&&b&例2:识别轻度阴影的阶梯&/b&&/p&&p&1构建用于“阴影底下的一行”、“阴影x1和白色x2”、“阴影x2和白色x1”的模型,并触发\widehat y_1, \widehat y_2, 和\widehat y_3。&/p&&p&2.构建用于“黑色底下的一行”、“黑色x1和白色x2”、“黑色x2和白色x1”的模型,并触发\widehat y_4, \widehat y_5, 和\widehat y_6。&/p&&p&3.将这些模型组合在一起,然后将结果用一个sigmoid函数进行计算,因此,“黑色”标识符将从“阴影”标识符中去除。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-6f268b674ad022e7f0f86b4cb0c03782_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&773& data-rawheight=&432& class=&origin_image zh-lightbox-thumb& width=&773& data-original=&https://pic4.zhimg.com/50/v2-6f268b674ad022e7f0f86b4cb0c03782_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-1b7b1a00ef77de268d4d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1226& data-rawheight=&245& class=&origin_image zh-lightbox-thumb& width=&1226& data-original=&https://pic4.zhimg.com/50/v2-1b7b1a00ef77de268d4d_r.jpg&&&/figure&&p&以上就是我们利用“阶梯”模式识别图像而建立的模型,另外我们还需要注意以下两点:&/p&&p&&b&1.注意术语&/b&&/p&&p&单层感知器有一个单独的输出层。但是,我们刚刚构建的模型有一个输出层作为另一个输出层的输入层,因此它们将被称为双层感知器。当模型有三层——一个输入层,一个隐藏层,和一个输出层,我们也可以称这些模型为神经网络。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-aa7a4b20e65e9c4e79b26f7acc608816_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&767& data-rawheight=&481& class=&origin_image zh-lightbox-thumb& width=&767& data-original=&https://pic3.zhimg.com/50/v2-aa7a4b20e65e9c4e79b26f7acc608816_r.jpg&&&/figure&&p&&b&2.选择其它激励函数&/b&&/p&&p&在我们的例子中,我们使用了一个sigmoid激励函数。但是,我们也可以使用其他的激励函数,例如tanh函数和relu函数。但是,需要注意的是,激励函数必须是非线性的,否则神经网络将简化为一个等价的单层感知器。&/p&&p&&b&译者注:&/b&&/p&&p&人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。&/p&&h2&&b&三. &/b&&a href=&//link.zhihu.com/?target=http%3A//click.aliyun.com/m/40803/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&用Excel理解神经网络&/a&&/h2&&figure&&img src=&https://pic1.zhimg.com/50/v2-213ceef531_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1062& data-rawheight=&437& class=&origin_image zh-lightbox-thumb& width=&1062& data-original=&https://pic1.zhimg.com/50/v2-213ceef531_r.jpg&&&/figure&&p&为了简化卷积神经网络这个概念,我将试着针对在开发深度学习模型过程中所做的运算进行解释。要查阅这方面更多的内容,我建议&a href=&//link.zhihu.com/?target=http%3A//neuralnetworksanddeeplearning.com/chap6.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&在线&/a&搜索,因为网上的信息很多很多(像这样&a href=&//link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3DOqm9vsf_hvU%26feature%3Dyoutu.be& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&视频&/a&)。本文的这个解释来源于&a href=&//link.zhihu.com/?target=https%3A//github.com/fastai/fastai/tree/master/courses/dl1/excel& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&fast.ai&/a&仓库。&/p&&p&这个简单的神经网络图片基本上代表了本案例中发生的事情。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-e716e3e6f74baf6c867f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&791& data-rawheight=&388& class=&origin_image zh-lightbox-thumb& width=&791& data-original=&https://pic4.zhimg.com/50/v2-e716e3e6f74baf6c867f_r.jpg&&&/figure&&p&简单的神经网络&/p&&p&&b&输入层&/b&&/p&&p&这个数字7的图像数据来自&a href=&//link.zhihu.com/?target=http%3A//yann.lecun.com/exdb/mnist/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MNIST&/a&数据集,我们假设你正在使用&a href=&//link.zhihu.com/?target=https%3A//medium.com/p/dfdcaf559cba/edit& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&预训练模型&/a&进行分类。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-ef640fdbbee_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1066& data-rawheight=&876& class=&origin_image zh-lightbox-thumb& width=&1066& data-original=&https://pic2.zhimg.com/50/v2-ef640fdbbee_r.jpg&&&/figure&&p&你可以在数据集中看到更大的数字7&/p&&p&&b&隐藏层 1&/b&&/p&&p&隐藏层用于对输入进行转换,以便从输出层的数据中识别出更复杂的特征,从而做出更好的评估。&/p&&p&两个过滤器将呈现出不同的形状:第一个过滤器用于检测水平边缘,第二个过滤器检测垂直边缘。这个3x3的过滤器被称为&a href=&//link.zhihu.com/?target=http%3A//setosa.io/ev/image-kernels/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&卷积核&/a&。下图中的filter 1被激活用于检测输入中的水平边缘。Conv1展示了将输入分别乘以两个3x3卷积核之后的激活情况。下面的图片更形象地展示了这个过程。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-74a32d3346ca1caa5768b7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1240& data-rawheight=&1062& class=&origin_image zh-lightbox-thumb& width=&1240& data-original=&https://pic3.zhimg.com/5}

我要回帖

更多关于 wwW.Mm3333.Com 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信