如何使用 Arduino 和 Raspberry Pi 将光纤神经网络变成墙面艺术

了解机器学习算法如何产生美丽的墙面装饰。
737 位读者喜欢这个。
How to use an Arduino and Raspberry Pi to turn a fiber optic neural network into wall art

Zack Akil

好莱坞对人工智能 (AI) 做了许多宏大的承诺:它将如何摧毁我们,它将如何拯救我们,以及它将如何给我们递黄油。一个不太令人难忘的承诺是它看起来会有多酷。

复仇者联盟 2:奥创纪元中,有一个关于惊人的人工智能可视化的精彩例子,当托尼·斯塔克的 AI 管家贾维斯与奥创互动时,我们看到了一个有机的漂浮光网络,它在变形和脉动。我想制作一些类似的东西来填补我家公寓墙壁上的空白(以改进通常的宜家艺术品)。显然,我无法创造出像贾维斯那样惊人的漂浮光球;但是,我可以使用一种机器学习算法,它看起来很有趣,具有古怪的数据可视化:神经网络!它采用了生物学启发元素,旨在复制(我们认为的)人脑的工作方式。

机器学习中的神经网络受到大脑中生物神经元的启发。网络中的每个节点都连接到网络中的其他节点。当信号流经它时,节点之间的连接会改变信号,直到它到达网络的末端。连接调整信号的具体方式是在算法的训练阶段学习的。

neural network algorithm structure

opensource.com

我着手用光重现神经网络。对于节点,我在 3D 打印机上用半透明塑料打印了自定义形状。对于节点之间的连接,我使用了所谓的侧发光光纤,这是一种普通的光纤管,它沿着管的长度发光(它看起来非常科幻)。

Results of painstaking soldering and gluing

opensource.com

光源是 RGB LED 灯条,经过费力的切割、焊接和胶合到每个节点中。(每个节点大约需要 30 分钟才能安装电子元件。)

告诉 LED 灯做什么的组件是一个 Arduino 开发板,而告诉它做什么的是一个小的 Raspberry Pi Zero,这使得整个东西可以通过 WiFi 连接。

现在,它是如何工作的?光网络是一个高级的 WiFi 灯。真正的人工智能在连接到同一 WiFi 网络的笔记本电脑上运行。我编写了一小段方便的代码,它可以插入到我的标准神经网络编程环境中,当我在训练我的算法时,它会将连接值(绿色 = 高值,红色 = 低值,蓝色 = 接近于零)实时发送到光网络。然后我就可以看到我的神经网络在学习。

瞧!人工智能学习的物理光可视化!Zack Akil,GPLv3。

它现在将快乐地生活在我的墙上,作为人工智能的照明象征!

Data that the neural network is learning from

opensource.com

此图显示了神经网络试图复制的数据模式。仅基于 X 和 Y 值(图表中的特征 1 和特征 2),神经网络将尝试输出正确的分类(图表中的颜色)。下面是另一个动画,显示了光网络学习及其对数据的预测。正如你所看到的,数据点的颜色会不断演变,直到它们与原始数据非常匹配。这就是学习!

光网络学习及其对数据的实时预测,Zack Akil,GPLv3。

如果您想了解更多信息,包括获取所有详细的技术信息并访问代码和更多图像,请访问我在 GitHub 上的 rgb-neural-net 存储库

这最初发表在 Medium 上,并经许可转载。

User profile image.
伦敦软件开发人员、硬件黑客和机器学习爱好者。 Central London Data Science Project Nights 聚会小组的组织者。

2 条评论

我完全不明白——为什么你必须在 Raspberry Pi 之外还要使用 Arduino?
RPi 不是已经拥有处理驱动相当少量 LED 的实时任务所需的所有资源了吗?
由于我正在尝试学习 Raspberry Pi 3,我真的很感谢您的指导。非常感谢您的理解。

纯粹是为了方便,我只能找到一个与我的特定型号可寻址 LED 灯条配合使用的 Arduino 库,并且将 Arduino 连接到 Pi 非常容易。我最初的计划是只使用 Pi 来完成所有事情。

回复 ,作者:robertservice (未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可获得许可。
© . All rights reserved.