인공지능 알고리즘의 블랙박스 위험은 머신러닝의 특성에서 기인한다. 인간의 사고방식과 다르지만, 인간의 사고와 동일한 결과를 도출하면 상관없다는 생각이 바탕에 깔려에 있다. 실제로 머신러닝 알고리즘의 과정은 너무도 우연적이고 확률적이라 블랙박스 위험을 초래할 수밖에 없다. 고안자나 개발자조차도 이런 변화에 대하여는 짐작만 할 뿐 알지 못한다.
인공지능 알고리즘의 블랙박스 위험은 최근 인공지능 알고리즘의 주류인 머신러닝의 특성에서 기인한다. 인공지능이나 머신러닝의 경우 알려지지 않은 프로세스 및 계산에 의존하기 때문에 블랙박스 위험을 초래할 수밖에 없다. 머신러닝이나 인공지능 알고리즘의 핵심은 구현 과정이 아닌 구현 결과에서 답을 찾는 데 있다. 인간처럼 사고하지 않지만, 인간의 사고와 동일한 결과를 내놓으면 무관하다는 생각이 머신러닝의 기초에 있다. 머신러닝 알고리즘을 분석해보면 그 과정이 황당할 정도로 우연적이고 확률적이다. 머신러닝이 크게 의존하고 있는 인공신경망 알고리즘은 그 산출과정에서 입력인자만 인간이 특정해줄 뿐 그 결과 도출과정은 오로지 인공신경망이 스스로 변수를 조정해 나가는 과정을 거쳐서 산출한다. 입력변수(input)가 주어졌을 때 은닉층(Hidden layer)에서 이루어지는 연산 과정(operation)에서 가중치(weight)조정은 난수(random variable)에 의존한다. 수 없는 학습과정에서 기계스스로 가중치를 조정해나가면서 보다 바람직한 결과를 도출해나가는 훈련을 한다. 이러한 훈련과정을 추적하는 것은 불가능한 일은 아니나 무의미해 보인다. 어차피 난수로 주어지는 가중치의 변화만 엿볼 수 있을 뿐, 어떤 변수의 가중치 변화가 결과 도출에 기여하였는지를 확인하는 것은 인간 인지의 범위를 벗어난다. 인공지능 알고리즘의 고안자나 개발자조차도 이러한 학습과정에서 일어나는 변화에 대하여는 짐작만 할 뿐 알지 못한다. 따라서 입력변수의 어떤 부분이 결과 도출에 영향을 주었는지 하는 추적도 불가능하지는 않겠지만, 해석 가능한 수준으로 설명할 수는 없다. 이런 특성을 설명하기 위하여 인공지능 알고리즘을 파이썬 코드로 구현한 예제를 소개한다.