Files
openmlsys-zh/website/chapter_rl_sys/robot_safety.md
2023-03-25 20:02:13 -04:00

70 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 在机器人项目中安全的应用机器学习
机器人和机器学习都是有广阔前景和令人兴奋的前沿领域而当它们结合在一起后会变得更加迷人并且有远大于1+1>2的效果。
因此,当我们在机器人项目中应用机器学习时,我们很容易过于兴奋,尝试着用机器学习去做很多之前只能幻想的成果。
然而,在机器人中应用机器学习和直接使用机器学习有着很多不同。
其中很重要的一点不同就是,一般的机器学习系统更多的是在虚拟世界中造成直接影响,而机器人中的机器学习系统很容易通过机器人对物理世界造成直接影响。
因此,**当我们在机器人项目中应用机器学习时,我们必须时刻关注系统的安全性**,保证无论是在产品开发时还是在产品上市后的使用期,开发者和用户的安全性都能得到可靠的保证。
而且不仅商业项目要考虑安全性,开发个人项目是也需要确保安全性。
没有人想因为安全性上的疏忽而对自己或朋友/同事造成无法挽回的遗憾。
以上这些并不是危言耸听,让我们设想以下这些情况。
假设你正在为你们公司开发一个物流仓库内使用的移动货运机器人,它被设计为和工人在同一工作环境内运行,以便在需要时及时帮工人搬运货物至目的地。
这个机器人有一个视觉的行人识别系统,以便识别前方是否有人。
当机器人在前进的过程中遇到障碍物的话,这个行人识别系统会参与决定机器人的行为。
如果有人的话,机器人会选择绕大弯来避开行进道路上的行人障碍物;而如果没人的话,机器人可以绕小弯来避障。
可是,如果某次这个行人识别系统检测失误,系统没有检测到前方的障碍物是一个正在梯子上整理货物的工人,所以选择小弯避障。
而当机器人靠近时,工人才突然发现有个机器人正在靠近他,并因此受到惊吓跌落至机器人行进的正前方。如果我们考虑到物流仓库的货运机器人自重加载重一般至少是几百公斤,我们就知道万一真的因此发生碰撞,后果是不堪设想。
如果真的发生这种情况,这个机器人产品的商业前景会毁于一旦,公司和负责人也会被追究相应责任(甚至法律意义上的责任)。更重要的是,对受害者所造成的伤害和自己心里的内疚会对双方的一生都造成严重的影响。
不仅是商业项目,假设你正在开发一个小型娱乐机械臂来尝试帮你完成桌面上的一些小任务,例如移动茶杯或打开关闭开关。
你的这个机械臂也依赖于一个物体识别系统来识别任务目标。
某次在移动茶杯时,机械臂没有识别到规划路线中有一个接线板,因此茶杯不小心摔倒并且水泼到接线板里引起短路。
幸运的话可能只需要换一个接线板,而不幸的时候甚至可能会引起火灾或电击。
我相信,没有人会想遇到这类突发事件。
因此,无论是在怎样的机器人项目中应用机器学习,我们都必须时刻关注和确保系统的安全性。
### 确保安全性的办法:谨慎的风险评估和独立的安全系统
#### 谨慎的风险评估
为了能够确保机器人和机器学习系统的安全性,我们首先要知道可能有哪些危险。
我们可以通过风险评估risk assessment来做到这一点。
怎样完成一份风险评估网上已经有很多文章了,我们在这里就不过多的介绍。
我们想要强调的是对于发现的风险我们需要尽可能的给出一个避免风险的方案risk mitigation
更重要的时,我们需要确保这些方案的具体执行,而不仅仅是流于表面的给出方案就完事。
一份没有执行的方案等于没有方案。
#### 独立的安全系统
在了解了可能有哪些风险之后,我们可以通过设计一个独立的安全系统来规避掉风险中和机器人系统相关的那一部分。
具体来讲,这个安全系统应该独立于机器学习系统,并且处于机器人架构的底层和拥有足够或最高等级的优先级。
实际上,这个安全系统不应该只针对机器学习系统,而是应该针对整个机器人的方方面面。
或者换句话来说,当开发机器人项目时,必须要有一个足够安全且独立的安全系统。
而针对于机器学习系统的安全性只是这个独立安全系统“足够安全”的部分体现罢了。
还是以之前的那个物流仓库移动货运机器人为例。
如果机器人的轮子是有独立安全回路并且断电自动刹车的轮子,而机器人又有一个严格符合安全标准且也有安全回路的激光雷达来检测障碍物,同时这个激光雷达的安全回路直接连接至轮子的安全回路。
这样一来,不管机器人是否检测到前方有人或突然有一个人闯入机器人行进路线,激光雷达都会检测到有异物,直接通过独立的安全回路将轮子断电并刹车,以确保不会发生碰撞。
这样一个配置完全独立于任何控制逻辑,从而不受任何上层系统的影响。
**而对于开发者来说,当我们有了一个可靠独立的安全系统,我们也可以放心的去使用最新的突破性技术,而不用担心新技术是否会造成不可预期的后果。**
### 机器学习系统的伦理问题
除了上述讨论到的最根本的安全性问题,机器学习系统的伦理问题也会对机器人的使用造成影响。
例如训练数据集中人种类型不平衡这一类经典的伦理问题。
让我们还是以之前的那个物流仓库移动货运机器人为例。
如果我们的训练数据集只有亚洲人的图片,那么当我们想要开拓海外市场时,我们的海外用户很有可能会发现我们的机器人并不能很好的识别他们的工人。
虽然独立的安全系统可以避免事故的发生,但是急停在工人面前肯定不是一个很好的用户体验。
我们机器人的海外销量也会受到影响。
机器学习系统的伦理问题是目前比较火热的一个讨论领域。作为行业相关人员,我们需要了解这个方向上的最新进展。一方面是在系统设计的初期就把这些问题考虑进去,另一方面也是希望我们的成果能够给更多人带来幸福,而不是带去困扰。
### 小结
在这一章节中,我们稍微讨论了下怎样在机器人项目中安全的应用机器学习。我们确认了执行一份谨慎的风险检测和设计一个独立的安全系统是一个不错的办法。最后我们也稍微探讨了下机器学习系统的伦理问题。希望大家都能安全的在机器人项目中运用最新的机器学习技术!