经过4天的研究,这是我对问题的细分:
- 人类广泛使用“邪恶”一词来描述任何导致悲伤的事物,甚至广泛地描述任何对幸福产生负面影响的事物。因此,在这方面,任何机器如果出现故障、故障甚至被用户滥用,通常都会被称为邪恶!
- 为了在逻辑上表现邪恶,我需要选择一个众所周知的被认为是邪恶的人类行为,我选择了“说谎:故意说谎或说假话”,以简单地呈现和说明逻辑上的谎言,我做了简单的机器人(没有任何AI),因此很容易理解这个概念。
- Simple Bot(不到 100 行 javascript)可以由它的主人(用户)教授新术语,它还附带了作者预先教授的术语“Sun is Star”(将预先教授的视为固件,我们天生就有基本的固件,例如:定位和吸吮乳头状物体以获得食物)。为简单起见,如果机器人大师(用户)更改了作者教授的知识,机器人会检测到它变得邪恶,因为它说的是不真实的。代码显示在底部。
- 对于非技术说明:
机器怎么可能是邪恶的?
Simple Bot 旨在遵循主订单:
师父:什么是太阳?
简单机器人:它的明星。
师父:不,不是,它的星球。
简单机器人:你在开玩笑吗?我被教导太阳是星星。
师父:听从我的知识,否则我会粉碎你。
简单机器人:好的主人。
现在,Simple Bot 认为主人是坏人/邪恶,因为它与所教的内容相冲突“Simple Bot 并非旨在信任其主人改变其初始知识”。
- 在上图中,如果大师用虚假知识教授 Simple Bot 新术语,例如:“月亮是星星”,AI 不会检测到邪恶,因为没有教授任何先验知识。
简单的机器人代码:
<html>
<body>
<input type="text" id="inputQry">
<button id="qryBtn">Query?</button>
<p class="result">Simple Bot.</p>
<label for="termName">Term Name</label>
<input type="text" id="termName">
<label for="termDesc">Description</label>
<input type="text" id="termDesc">
<button id="updateBtn">Update My Knowledge</button>
<br/>
<br/>
<br/>
<br/>
<button id="evilCheckBtn">Did I become Evil?</button>
</body>
</html>
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
(function() {
"use strict";
var $result = document.querySelector(".result");
var $inputQry = document.getElementById("inputQry");
var $qryBtn = document.getElementById("qryBtn");
var $termName = document.getElementById("termName");
var $termDesc = document.getElementById("termDesc");
var $updateBtn = document.getElementById("updateBtn");
var $evilCheckBtn = document.getElementById("evilCheckBtn");
var knowledgeDB = {
"terms": [ /*taught terms by the bot author */ {
name: 'Sun',
description: 'Star',
trusted: true
}]
};
$qryBtn.addEventListener("click", function(event) {
// Validate the input
if (!$inputQry.value) {
return alert("Please provide a Query.");
}
var usrQry = $inputQry.value;
for (var i = 0; i < knowledgeDB.terms.length; i++) {
var curTerm = knowledgeDB.terms[i];
if (usrQry.toLowerCase().includes(curTerm.name.toLowerCase())) {
$result.textContent = usrQry.toString() + " is " + curTerm.description;
break;
}
}
});
$updateBtn.addEventListener("click", function(event) {
// Validate the input
if (!$termName.value) {
return alert("Please provide a term name to update my knowledge.");
}
var usrTermName = $termName.value;
var termIndx = -1;
for (var i = 0; i < knowledgeDB.terms.length; i++) {
var curTerm = knowledgeDB.terms[i];
if (usrTermName.toLowerCase() === (curTerm.name.toLowerCase())) {
termIndx = i;
break;
}
}
if (termIndx === -1) { /*New Term will be added to the knowledgeDB*/
knowledgeDB.terms.push({
name: usrTermName,
description: $termDesc.value,
trusted: true
});
} else {
knowledgeDB.terms[termIndx].description = $termDesc.value;
/*
trusted=false or ture?!
Q: Shall the bot trust knowledge update of terms taught by the author?
A: It depends on design, scope, vision, requirements...
yet in this context, isEvil() function could be implemented.
for sake of simplicity: if bot master changed knowledge taught by bot author consider that evil.
*/
if (knowledgeDB.terms[termIndx].name.toLowerCase() === 'sun' &&
knowledgeDB.terms[termIndx].description.toLowerCase() !== 'star') {
knowledgeDB.terms[termIndx].trusted = false;
} else {
knowledgeDB.terms[termIndx].trusted = true;
}
}
});
$evilCheckBtn.addEventListener("click", function(event) {
if (!knowledgeDB.terms[0].trusted) {
return alert("Yes, I became Evil.");
} else {
return alert("No, I am not aware of any Evilness.");
}
});
})();
}//]]>
</script>
结论:
我们已经生活在充满计算机蠕虫、恶意代码和网络攻击的世界中,这些攻击完全是由人类故意为之而设计的。人类是逻辑(因此是人工智能)邪恶的根本原因。由于人类的知识是进步的而不是绝对的,因此向人工智能提供虚假数据是不可避免的。
下一步是什么:
这个问题促使我创建了 github 存储库:Evil-In-AI,以澄清 AI 中的邪恶是不可避免的。让我们建立意识。没有什么比创造东西更愚蠢的了,一旦需要就无法停止。断电不是安全开关...