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

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

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.
常驻伦敦的软件开发人员、硬件黑客和机器学习爱好者。伦敦市中心数据科学项目之夜聚会小组的组织者。

2 条评论

我完全糊涂了——你为什么必须在 Raspberry Pi 之外还要使用 Arduino?
树莓派难道没有处理驱动相当少数量 LED 的实时任务所需的所有资源吗?
由于我正在尝试学习 Raspberry Pi 3,我将非常感谢您的指导。非常感谢您的理解。

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

回复 作者 robertservice (未验证)

© . All rights reserved.