그림이 깨지면 출처 링크를 참조하십시오.
이 글은 아래 글들을 요약 정리한 것입니다. 특히, Sebastian Raschka는 AI 학습자들에게 잘 알려진 지도자입니다.
Artificial Intelligence - The Next Leap in Technology
종래의 프로그래밍은 규칙과 데이터를 이용하여 일련의 목표를 달성하는 것으로, 자동화로 표현됩니다. 한편, AI 프로그래밍은 그 자동화를 자동화하는 것입니다.
traditional programming:
set of rules + data -> computer -> results
machine learning:
results + data -> machine learning algorithm + computer -> set of rules
이전 글에서 언급한 자물쇠와 열쇠 예를 다시 언급하면, 전통적 코딩으로 열쇠를 만들기 위해서는 자물쇠를 분해하여(Analysis), 쇳조각의 어디를 얼만큼 깎아야 할 지 결정한 뒤(Design), 프로그래머가 직접 갈고 깎습니다(Coding). 하지만, AI 코딩의 경우, 자물쇠와 쇳조각을 박스(ANN - Artificial Neural Network) 안에 던져넣으면(AI Coding), 박스가 혼자 우당당탕 거리다가 완성된 열쇠를 툭 내습니다. 따라서, 박스를 만드는 게 AI 프로그래머의 일입니다. 어떤 관점에서는 AI 프로그래머는 전통적(Traditional or Conventional) 프로그래머를 프로그래밍한다고 볼 수 있습니다.
재밌는 점은 박스 안에서 벌어지는 정확한 프로세스는 프로그래머 자신도 이해할 수 없습니다. 그럼, 종래의 프로그래밍보다 AI 프로그래밍이 진보한 방식일까요? 그렇기도(Yes) 아니기도(No) 합니다.
No - 전통적 방식은 수십 년간 누적해 온 막대한 인적 자원과 태산 높이의 라이버러리, 프레임워크, 언어가 있지만, AI는 출생신고서의 잉크도 마르지 않은 상태입니다. 따라서, 주어진 과제를 처리할 수요자 입장에서는 전통적 방식이 훨씬 손에 가깝습니다.
Yes - AI 코딩이 유일한 해법인 경우가 많습니다. 가령, 1명이 1년이면 완성할 수 있는 무인자율차량을 전통적 코딩으로 구현하려면, 프로그래머 백 명이 백 년이 걸려도 불가능합니다.
No - 과제의 고유한 성격에 따라 전통적 방식이 효율적인 경우가 있습니다.
Yes - 적어도 이론적으로는, 전통적 코딩으로 해결할 수 있다면, AI로도 해결할 수 있으며, 점차 노하우가 쌓여갈수록 전통적 방식의 코딩 효율성보다 AI의 코딩 효율성이 높은 분야가 증가할 것입니다. 그러나, 리눅스와 같은 OS를 AI로 코딩하는 것은 상상이 되지 않는군요.
미래에는 종래의 프로그래밍 방식은 사라질까요? 아니오. 사라지기보다는 머신러닝을 흡수한 형태로 진화할 입니다. 아마도 지금과는 많이 다를 것입니다. 프로그래머의 정의가 달라질 테니까요.
출처 | https://docs.google.com/document/d/11ttSd8hehjeSXE9oH3CgvUQGCRnph5UXExudEMlYKLw/pub |