Douglas' Space
Explainable AI의 필요성 본문
ENIAC이라는 말을 들어보셨나요? 공학을 공부한 사람이라면 모두 들어 봤을 법한 용어입니다. 우리가 흔히 최초의 전자식 컴퓨터라고 알고 있습니다. (사실 최초의 컴퓨터는 ENIAC은 아닌 것으로 판명 됐습니다.) ENIAC은 육군의 요청으로 탄도계산을 위해 펜실베니아대학에서 개발을 했습니다. 체육관에 설치하여 사용할 정도로 엄청 컸죠.
그런데 밤만 되면 불빛때문에 벌레들이 날아와서 컴퓨터 안에서 죽어서 오작동을 일으켰습니다. 이때부터 프로그램의 오류를 Software Bug라고 불렀다고 합니다. 사실 배전판으로 프로그램을 했으니 Software Bug는 아니고 Hardware Bug 아닌가요? ㅋㅋ
이런 의미에서 보면 소프트웨어가 무엇으로 구현되느냐에 따라 다양한 형태로 존재합니다. 지금의 프로그램 만을 소프트웨어라고 하는 것은 틀린 답일 수도 있습니다. 소프트웨어를 CPU에서 구동되는 프로그램으로 구현할 것인가, FPGA로 구현할 것인가, 반도체 SoC로 구현할 것인가로 관점을 달리 생각해 보는 것도 좋을 것 같습니다.
물론 우리가 일반적으로 소프트웨어하면 프로그램을 의미하지만 요즘처럼 하드웨어 가격이 저렴하여 소프트웨어를 그냥 하드웨어에 구워 버리고 있지요. 소프트웨어의 가치를 잘 인정하지 않은 우리같은 환경에서는 프로그램을 하드웨어에 굽거나 하드웨어와 같이 Appliance형태로 판매하는 것이 나을 지 모르겠습니다. (하드웨어의 발전이 없었으면 소프트웨어의 발전도 없었을 것입니다.)
인공지능도 프로그램과 이를 구동하는 하드웨어의 집합체입니다. 다시말해 software system입니다. 따라서 인공지능도 bug가 존재하겠죠!! 그런데 또 한가지 중요한 사실은 bug는 프로그램의 논리규칙에 만 존재하는 것이 아니라 data에 더 많이 존재합니다.(그런데 우리 개발자들이 data의 분석 및 설계에 소홀한 것은 조금 아이러니입니다. )
특히 뉴럴넷은 모델이며, 이 모델을 만들고 실행시키는 놈이 AI 프레임워크(tensorflow, Pytorch, 등) 들입니다. 특히 딥러닝 모델은 학습이 진행됨에 따라 값이 변경되는 많은 양의 파라미터로 구성되는 graph data와 같습니다.
문제의 원인규명이 논리규칙의 원인 규명보다 매우 어렵습니다. 따라서 시스템의 출력을 설명할 수 있는 Explainable AI 개념이 중요하게 된 것입니다. 인공지능시스템의 오류를 발견하는 것은 일반 소프트웨어와는 다른 방법이 요구됩니다.
'Computing Tech. Diary > Artificial Intelligence' 카테고리의 다른 글
기억이란? (0) | 2022.04.28 |
---|---|
피카소의 추상화 (0) | 2022.04.25 |
Symbolic AI vs. Neuro AI (0) | 2022.04.24 |
왜 토론토가 AI성지라고 할까요 (0) | 2022.04.24 |
인공지능 어원에 대해서 (0) | 2022.04.24 |