AIfES for Arduino–高效微控制器人工智能开源框架
AIfES(嵌入式系统人工智能)是一个独立的、高效的人工智能框架。它允许弗劳恩霍夫微电子电路和系统研究所(简称FraunhoferIMS)在资源受限的微控制器上训练和运行机器学习算法。
之前,该框架是闭源的,仅由FraunhoferIMS内部使用。但现在与Arduino合作之后,AIfESforArduino是开源的,可免费用于非商业项目。
AIfESforArduinoAIfESforArduino框架优化过后,允许8位微控制器(例如ArduinoUno中的微控制器)实现人工神经网络(ANN)。该网络可以在适当的时间内进行训练,这意味着使用AIfES可以在小型自学电池供电设备上进行离线推理和训练,而无需依赖云或其他设备。
AIfES库实现了前馈神经网络(FNN),可以在运行时自由参数化、训练、修改或重新加载。它是使用C语言编程,且仅使用基于GNU编译器集合(GCC)的标准库。FraunhoferIMS还表示它与其他AI软件框架兼容,例如Keras或TensorFlow。
AIfES库架构AIfES以双重许可模式提供:对于GNU通用公共许可(GPL)第3版下的开源软件免费,但对于商业产品,必须与FraunhoferIMS签署许可协议。
由于该研究所多年来一直在使用该库,因此展示了一些演示示例,包括在ArduinoUno上实现的手写识别系统(如下视频所示),用于状态监测的无线电流传感器和手势识别系统。
视频地址:https://youtu.be/THb7QcrCpj4
如果你想了解更多有关 AIfESforArduino的信息,请前往Github存储库下载并安装库,访问代码示例和阅读文档。需要注意的是,某些示例可能还需要安装Arduino_CMSIS-DSP库,并且按照源代码中的说明编辑代码才可以成功构建AIfES示例。
AIfESforArduino– ArduinoNano33BLESense板的AI训练示例有关该解决方案的更多详细信息,请访问FraunhoferIMS网站。
TaylorLee李远朝文章翻译者:TaylorLee,瑞科慧联(RAK)高级嵌入式开发工程师,有丰富的物联网和开源软硬件经验,熟悉行业主流软硬件框架,对行业发展动向有着敏锐的感知力和捕捉能力。
分享这篇文章未来已来,Arduino 给你人工智能的所想即所得
同学你好,很高兴第一次和你见面。
我们的第一季课程「玩转Arduino」正式和你说「HelloWorld」。
从构思到落地,HOME+教研团队历时6个月为独一无二的你精心打造青少年编程课程结构,旨在让你认识编程,开启人工智能的大门。
01
未来已来
AI已不再只是那条会下围棋的狗
AlphaGo(阿尔法围棋),是一款人工智能围棋程序,由被Google收购的DeepMind公司开发。
2015年10月,AlphaGo以5比1的比分战胜樊麾二段。
2016年3月,AlphaGo以4比1的比分战胜拥有18个世界冠军头衔的韩国棋王李世石九段。
2016年12月29日至2017年1月4日,AlphaGo以ID名「Master」在网络围棋平台弈城和野狐上以60比0的比分战胜数十名中韩日职业围棋手。
2017年5月,AlphaGoMaster以3比0的比分战胜当时GoRatings世界排名第一的柯洁九段。
AlphaGo的最终版本是AlphaGoZero及其通用版本AlphaZero。
基于深度学习算法的围棋机器人 AlphaGo,把人工智能的概念正式植入大众脑海。
人工智能(ArtificialIntelligence,AI)是指计算机像人一样拥有智能能力,计算机在获得正确方向后可以高效工作。在这里,正确的方向意味着最有可能实现的目标,用术语来说就是最大化效果预期。
人工智能需要处理的任务包括学习、推理、规划、感知、语言识别和机器人控制等。
人工智能可以为我们做些什么?
举例来说:
1.用视觉识别技术可以识别商品品牌和人的面部。
iPhoneX就在其中融入了视觉识别技术。FaceID运用了先进的机器学习算法来识别人类面部的变化。即使用户穿戴了帽子、眼镜,甚至是各种花色的墨镜,iPhoneX都可以准确地对面部进行识别,以完成手机解锁、登录以及支付等功能。
2.训练神经网络找回童年的记忆。
Algorithmia,用黑白图像作为输入、彩色图像作为输出,以此来训练神经网络。训练好的神经网络可以对黑白图像上色,也就是说,我们可以把家里长辈的黑白照片作为输入,神经网络就可以自动还原成彩色的图像。
3.用全双工交互技术做你生活的玩伴。
2018年7月26日,微软正式发布第六代微软小冰,它在交互方式上进一步升级,并融合了多感官交互。与此同时小冰也由最初的聊天机器人走入更多的应用场景,从熟悉的主持节目、唱歌、讲故事、写诗,到新闻评论、金融、智能家居、手机等,都有小冰的身影。
如果你经常刷网易新闻,你会在各篇文章的评论区找到微软小冰的身影。而且,微软小冰发表的评论,全部都是机器学习后得出的内容,也就是说,这个过程完全是智能的、无人工编辑的。
AI可以做到的,还有很多...很多。
但是,九层之台,起于垒土。学习人工智能,离不开数学、算法和程序。
02
未来已来
学编程并不是为了成为攻程狮
学习编程,并不表示我们以后一定要当程序猿和攻城狮。
在智能化越来越普及的明天,编程其实就是作为一种基础的、核心的技能,因为任何人工智能的实现都离不开编程,我们可能不需要精,但需要了解。
编程可以启蒙我们多方面能力的发展,为孩子以后的发展打下基础。从教育的角度看,青少年编程的核心理念是把计算机编程看作与阅读、表达、数学同等重要的基础技能进行培养。
学习编程可以带来哪些改变?
1.提升逻辑思维能力。
编程是如何把大的问题分解成若干个小问题的过程。其中,必须去思考如何把代码合理的安排在程序中,从而让程序流畅地处理输入、计算和输出,这一过程可以显著地提高青少年的逻辑分析能力。
2.培养耐心和专注能力
编程的严谨性决定了任何小小的失误或差错都将导致程序无法通过编译。因此,在编写程序的过程中需要不断地调试和纠错,这对孩子的耐心和专注能力是一个极大的考验。
3. 培养整合信息和解决问题的能力。
编程从根本上说,是对计算机指令的排列组合。这和我们查字典、学汉字,并将汉字组词造句,进而撰写文章的规律是一样的。
程序中的基本指令就好比汉字,最终要完成一个有头有尾,并且言简意赅的程序时,则必须融会贯通,学以致用。在这一过程中孩子的整合信息和解决问题的能力会变得越来越强。
4.给自己的未来多一种选择。
我们知道,现在全球有24个国家都将编程纳入了基础教育体系。
在美国,青少年编程渗透率为44.26%;
在英国,这个数据为近10%;
在中国,青少年编程渗透率仅为0.98%。
所幸,我们正在见证政策大力扶持之下,编程教育在中国的奋起直追。
2017年7月20日,国务院向各省、自治区、直辖市人民政府、国务院各部委、各直属机构公开印发了《新一代人工智能发展规划》。
《规划》明确提出:“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。”
在此政策下,我们见到很多机构和学校都在做出改变:
2018年4月,南京教育局将编程列入南京中考特招生的范畴;
2018年8月,浙江省将信息技术加入高考科目,其分值占比与传统选考科目一致,为100分。在实际考试中,其被选率仅次于物理和化学,排名第三;
17所985高校给出科技特长生加分条件,211高校紧随其后;
清华附中、人大附中、上外附中等600多所全国一流中学相继开设了编程教育相关课程。在各线城市,开课的公立中小学数量都正呈指数级增长。
知乎不仅如此,学编程的孩子在高考中也更有优势,在多个省市的数学高考题目中已经出现了编程相关的题目。
2018年高考·全国数学Ⅱ卷·第7题2018年高考·天津卷·第3题会编程的学生除了高考能拿到编程题目的分数外,还有其他非常吸引人的好处。
从高考和国内教育的风向来看,编程或许将成为下一个“奥数”,编程好的孩子,可以享受重点中学、大学的降分录取或者自主招生的面试资格。
每年,都会有一批学生作为编程特长生,通过保送、或者降分进入北大、清华、复旦、浙大等国内顶尖高校。
诚然,以这样的目的来学习编程或许有些功利,但这确实给我们提供了一种选择和权利,获取更好生活质量的权利。
03
未来已来
Arduino让你所想即所得
为了让零基础的孩子入门编程,我们本季课程选用Arduino进行教学。
Arduino是一个用来组装可以与你周围的物理世界互动的计算机工具,相当于一颗电子大脑,电路中有了Arduino也就学会了思考。而电路学会思考,也就实现了智能。
我们先来看看Arduino可以做哪些好玩的事情。
入门级:
跑马灯
触控灯
温湿度检测仪
光感追踪
进阶级:
游戏辅助臂
机械臂
时间行者
骨灰级:
遥感手套
巡线机器人
那究竟什么是Arduino?
Arduino是一个开源的、拥有简单输入输出的电路板,它沿用了Processing语言的开发环境。
如果还不太清楚它是干什么的,只需要记住三个字就好:单片机。
Arduino核心:AVR单片机
Arduino本质:单片机应用开发板
Arduino优势:简单的函数,还有许多应用库,使得没有很好的单片机基础的人员也可以使用Arduino做出自己想要的东西。
简洁的IDE(集成开发环境):也就是写代码、编译、调试、下载的编程软件。
Arduino包含两个主要的部分:
1、硬件:是可以用来做电路连接的电路板;
2、软件:ArduinoIDE,计算机中的程序开发环境。
你只要在IDE中编写程序代码,将程序上传至Arduino电路板后,程序便会告诉Arduino电路板要做什么了。
我们之所以选择Arduino,是为了最大程度地减少C/C++编程过程中的枯燥与繁琐,并且将电路常识贯穿其中,让孩子能够亲自动手做出属于自己的创客项目,体验编程与AI的乐趣。
04
未来已来
关于HOME+
HOME+青少年创客实验室 成立于2019年初,全心致力于STEAM教育。
课程设计中涵盖数学、物理、程序设计、科学、英语、表达、创意设计等跨学科知识点,让青少年充分体会“学有所用”、“寓教于乐”,激发学习热情。
HOME+ 研发的STEAM课程采用PBL教学理念。通过项目式教学,帮助青少年构建系统的知识框架,让青少年掌握多学科知识关联记忆和迁移。
“我们的初衷,是让更多人认识编程,体验编程带来的便利性。以后,当大家说我有一个idea的时候,自己就可以去实现它。”姣小姣HOME+课程项目负责人HOME+深知,一个好的学习环境对于孩子的成长至关重要。
因此,我们为孩子提供家庭式的硬件配套教学地点,并辅以合作式学习的教学方式,让孩子用轻松愉悦的心情,同导师、同学一起“在做中学”。
本季暑期「玩转Arduino」课程,专注小班1对3教学,报名限额15人,适合12岁-18岁青少年学习。
痛快玩,放肆学。
皓小皓HOME+课程讲师我们准备好了。
痛快玩,我们为孩子提供课间水果甜点。
放肆学,我们的课件可能是目前昭通最好的课件。
报名成功,我们赠送原装意大利进口Arduino套装。
除此之外,我们与「星星的文印社」联合发起的「报名活动」正在进行中。即日起,成功报名前5人,将获得由「星星的文印社」提供的精美文具套装1份。
报名成功后,我们会及时与孩子家长取得联系,沟通确认孩子暑期的放假和空余时间,为孩子定制专属的课程计划,并将活动奖品进行发放。
本季课程,每人每周2次课,每次课2课时,每课时90分钟。
课程费用2899元/16课时/人。
点击下方图片,开启你的专属AI之旅。
未来已来,你来不来?
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com
Arduino
网站首页|3D虚拟世界|音乐与人工智能|人工智能机器人|知识百科|关于我们目录1Arduino的优势2arduino和单片机的区别3相关互联网资源Arduino的优势比如你刚开始学习编程,或者没有编程基础又很想做一些电子产品时,Arduino是很好的一个选择。
学习Arduino单片机可以完全不需要了解其内部硬件结构和寄存器设置,仅仅知道它的端口作用即可;可以不懂硬件知识,只要会简单的C语言,就可用Arduino单片机编写程序。(针对初学编程者)Arduino软件语言仅仅需掌握少数几个指令,而且指令的可读性也强,稍微懂一点C语言即可,轻松上手,快速应用。(针对初学编程者)Arduino的理念就是开源,软硬件完全开放,技术上不做任何保留。针对周边I/O设备的Arduino编程,很多常用的I/O设备都已经带有库文件或者样例程序,在此基础上进行简单的修改,即可编写出比较复杂的程序,完成功能多样化的作品。(针对DIY,做绚丽作品)Arduino由于开源,也就意味着从Arduino相关网站、博客,论坛里得到大量的共享资源,在共享资讯的辅助下,通过资源整合,能够加快您创作作品的速度及效率。(针对毕业设计)相对其他开发板,Arduino及周边产品相对质廉价优,学习或创作成本低,重要一点是:烧录代码不需要烧录器,直接用USB线就可以完成下载。(针对所有想玩电子编程者)arduino和单片机的区别1、Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括MassimoBanzi、DavidCuarTIelles、TomIgoe、GianlucaMarTIno、DavidMellis和NicholasZambetTI。
它构建于开放原始码simpleI/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是ArduinoIDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
通俗的讲:arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但是不是官方的,还有intel的伽利略),或者是学习板啥的,但是Arduino开发人员开发了简单的函数,还有许多应用库,这样就不用直接去操作寄存器了,使得没有很好的单片机基础的人员也可以使用Arduino做出自己想要的东西。Arduino的开发人员还开发了一个简洁的IDE(集成开发环境)也就是写代码,编译,调试,下载的上位机软件。
2、单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
3、arduino是一个单片机系统,核心是ATMEGA系列单片机,配上一些周边器件,安装在一款印刷电路板上,能够独立完成设定功能。而单片机就是一块芯片,无法在没有周边器件的情况下单独完成既定功能。
相关互联网资源知乎文章:Arduino、arm、树莓派、单片机四者有什么不同Arduino中文社区:https://www.arduino.cn/Arduino常用函数参考:https://wiki.arduino.cn/Arduino教程汇总贴:https://www.arduino.cn/thread-1066-1-1.html