0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用神经网络教机器人走路?

pmkA_arm_china 2018-02-28 19:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

说起乐高积木,大多数人一定都想的是小孩子的玩具吧?但如果再加上Cortex-M4处理器,一两个马达和一些电线绑带,你能把它玩得有“技术含量”吗?当然,“技术流”玩家还是有的,Sebastian Förster,这位来自德国的嵌入式系统开发者,便用这些东西搭建了一个四足机器人,并且用神经网络教会它走路。这个被命名为“Scratchy”小怪物的机器人,一共有四个伺服电机控制四条腿,使用超声波探测距离,主控则用的是STM32F407探索开发板。

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

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

我目前硕士学位论文的题目就是有关如何在更小的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,但是我需要编写一个小文件系统,以便库可以直接从闪存加载保存的网络权重。”

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    213

    文章

    30654

    浏览量

    219890
  • 神经网络
    +关注

    关注

    42

    文章

    4830

    浏览量

    106908

原文标题:如何利用神经网络教会“小怪物”走路?

文章出处:【微信号:arm_china,微信公众号:Arm芯闻】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物神经系统的结构,特别是大脑中神经
    的头像 发表于 12-17 15:05 34次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    探索RISC-V在机器人领域的潜力

    利用Gazebo仿真环境(在x86主机上运行)和MUSE Pi Pro上的ROS 2节点进行了联合仿真。 • 场景: 在PC的Gazebo中运行一个TurtleBot3机器人模型,MUSE Pi
    发表于 12-03 14:40

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络
    发表于 10-22 07:03

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 737次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    松下机器人编程教学课件资料

    松下机器人编程教学课件(新)
    发表于 06-11 17:23 0次下载

    盘点#机器人开发平台

    地瓜机器人RDK X5开发套件地瓜机器人RDK X5开发套件产品介绍 旭日5芯片10TOPs算力-电子发烧友网机器人开发套件 Kria KR260机器人开发套件 Kria KR260-
    发表于 05-13 15:02

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    的限制和调控) 本书还有很多前沿技术项目的扩展 比如神经网络识别例程,机器学习图像识别的原理,yolo图像追踪的原理 机器学习训练三大点: 先准备一个基本的模型结构 和训练时的反馈函数(测试模型
    发表于 04-30 01:05

    BP神经网络与卷积神经网络的比较

    BP神经网络与卷积神经网络在多个方面存在显著差异,以下是对两者的比较: 一、结构特点 BP神经网络 : BP神经网络是一种多层的前馈神经网络
    的头像 发表于 02-12 15:53 1386次阅读

    BP神经网络的优缺点分析

    BP神经网络(Back Propagation Neural Network)作为一种常用的机器学习模型,具有显著的优点,同时也存在一些不容忽视的缺点。以下是对BP神经网络优缺点的分析: 优点
    的头像 发表于 02-12 15:36 1636次阅读

    什么是BP神经网络的反向传播算法

    BP神经网络的反向传播算法(Backpropagation Algorithm)是一种用于训练神经网络的有效方法。以下是关于BP神经网络的反向传播算法的介绍: 一、基本概念 反向传播算法是BP
    的头像 发表于 02-12 15:18 1330次阅读

    BP神经网络与深度学习的关系

    ),是一种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、一个或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小化网络的输出误差。 二、深度学习的
    的头像 发表于 02-12 15:15 1385次阅读

    BP神经网络的基本原理

    BP神经网络(Back Propagation Neural Network)的基本原理涉及前向传播和反向传播两个核心过程。以下是关于BP神经网络基本原理的介绍: 一、网络结构 BP神经网络
    的头像 发表于 02-12 15:13 1560次阅读

    人工神经网络的原理和多种神经网络架构方法

    在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。在本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。 01 人工神经网络   人工
    的头像 发表于 01-09 10:24 2301次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法

    【「具身智能机器人系统」阅读体验】2.具身智能机器人的基础模块

    ,还有基于深度神经网络的Fast R-CNN和Faster R-CNN。 语义分割是将图像划分为具有不同语义类别的区域。 立体视觉通过模拟人类双眼的视觉系统,利用两天相机从略微不同的角度同时拍摄图像
    发表于 01-04 19:22