Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Mobile blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Smart Homes
    • Tools, Software and IDEs blog
    • Works on Arm blog
    • 中文社区博客
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
中文社区
中文社区
中文社区博客 神经网络教会小怪物走路
  • Blogs
  • Forum
  • 视频和文件
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
中文社区 requires membership for participation - click to join
More blogs in 中文社区
  • ARM中国大学计划博客

  • Arm新闻

  • 中文mbed博客

  • 中文社区博客

  • 恩智浦汽车电子MCU讨论区博客

 

Tags
  • Machine Learning (ML)
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

神经网络教会小怪物走路

Song Bin 宋斌
Song Bin 宋斌
February 22, 2018

原文地址:

https://community.arm.com/processors/b/blog/posts/teaching-scratchy-to-walk-with-neural-networks

神经网络教会小怪物走路

如果给你Cortex-M4处理器,一两个马达,少许乐高积木,再加一些电线和绑带,你会用它们来做什么呢? 一位德国的嵌入式系统开发者Sebastian Förster,决定用这些东西搭建一个四条腿机器人,并且用神经网络教会他走路。

这个被命名为小怪物的机器人,一共有四个伺服电机控制四条腿,使用超声波探测距离,主控用的是STM32F407探索开发板。

Arm深度学习技术总监Mark Connor专程和Sebstian见面并对他进行了采访,请他谈了一下为什么要做这个“小怪物”以及他的心得体会

那么, Sebastian,能否谈谈你怎么想到要去做这个“小怪物”的吗?

“是这样的,我目前硕士学位论文的题目就是有关如何在更小的Cortex-M处理器上实现机器学习。通过一个神经网络的实例来做性能测试。而作为测试的一部分,我把FANN神经网络库移植到了Cortex-M4上,并且我不想做太学术太死板的东西,而且我希望是有型的东西,最后我选择了做个机器人。如你所见,其实我没做的很复杂,就先把一些乐高积木连到电机上,然后再连到一块有足够Flash和SRAM的STM32F4开发板上”

“所以我论文的结论最后就是-其实我小怪物的成功也证明了- 在小型的基于Cortex-M设备上运行重型机器学习算法是完全可能的”

你有没有试图自己对腿部动作进行编程?

“当然没有,这显然应该是让AI去干的!小怪物的结构允许我可以独立地训练向前和向后的步法,让我大吃一惊的是,虽然它没有膝关节,但是也能工作。因为Deep Mind在 Atari Q-Learner上取得了很大的成功,所以我也决定使用Q-Learning,并且我可以在他们的基础之上编写Q-learning的代理。 FANN库其实是由其他人开发并在LGPL许可下开源的,我只是单纯移植到了Cortex-M4上”

你是如何决定网络拓扑的?

“SRAM的大小限制了拓补结构。 神经网络可以做的更大,但使用额外的变量会消耗非常多的存储器空间,而我更想直接在Cortex-M4上直接进行训练。在我看来,使用两个或三个前馈层并没有太大区别,尽管我没有直接比较它们 – 而我想压榨一下处理器!”

用微控制器进行当前的神经网络研究是否容易?

“其实裸C(非CUDA)框架完全可以适用于512Kb闪存和256Kb SRAM。 我很幸运地找到FANN,但是我需要编写一个小文件系统,以便库可以直接从闪存加载保存的网络权重。”

你对那些有兴趣构建和培训自己的机器人的开发者,有什么建议吗?

“无论你做什么,都不要放弃探究特征和超参数。 如果你已经能想到一些东西,你就可以创造它!“

以下是“小怪物”的真实视频,

 Youtube网址,建议翻墙观看

https://youtu.be/fHCm0gQRzC4

 

懂德语的兄弟们请看Sebstian的原版博客:

https://sebastianfoerster86.wordpress.com/2016/11/07/robot-controlled-by-artificial-neural-network/

Anonymous
  • Song Bin 宋斌
    Offline Song Bin 宋斌 over 4 years ago in reply to 有芯度

    多谢建议,Arm在优酷上有账号:http://i.youku.com/armchina 。 这个视频我上传社区了,可以直接在社区观看。因为Arm优酷自频道主要是放Arm原创视频,所以这次没有把这个第三方视频放上去,也请理解 :)

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • 有芯度
    Offline 有芯度 over 4 years ago

    我觉得很有必要在优酷弄一个Arm社区的视频帐号,把上面这种youtube的视频统一搬运一下..毕竟这样方便一点。

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
中文社区博客
  • Armv9-A 构架引入可伸缩矩阵扩展(SME)

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文:https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/scalable-matrix-extension-armv9-a-architecture 作者:Martin Weidmann July 14, 2021 翻译: 修志龙(Zenon Xiu) Arm构架为从超级计算机到广泛的设备带来可伸缩的向量处理…
    • February 9, 2022
  • Arm机密计算架构技术白皮书

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    作者:Arm 首席应用工程师 David Brooke 原文:https://developer.arm.com/documentation/den0125/0100 1.      概述 在本篇文章中,我们将介绍机密计算(Confidential Computing)在现代计算平台中扮演的角色,并解释机密计算的原理。然后我们将说明 Arm 机密计算架构 (Arm CCA) 如何在 Arm 计算平台中实现机密计算…
    • July 16, 2021
  • Armv8.1-M Pointer Authentication 和 Branch Target Identification 扩展

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文作者:Alan Mujumdar   April 7, 2021 原文链接:https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension 翻译…
    • April 19, 2021