AI 와 개발자
: 우리는 오감을 통해 다양한 정보를 받아들이고 사고하여 판단할 수 있다. 하지만 이는 개개인에 따라 굉장히 주관적이고 부정확할 수 있으며 산업적 측면에서 굉장히 비효율적이다. 연산 능력이 뛰어난 기계가 사람처럼 생각하도록 하는 것이 바로 AI 개발의 핵심이다.
현재에는 보다 성능이 뛰어난 AI를 개발하는데 전세계가 집중하고 있다.
우리는 뛰어난 AI를 개발하기 위해 무엇을 해야할까?
그전에, AI는 어떻게 생긴 친구일까?
학습
위의 사진이 어떤 사진인지는 누구나 쉽게 알 수 있다. 바로 강아지 사진이다.
하지만 이 사진을 기계에게 입력하면 바로 강아지라고 판단하고 출력해낼 수 있을까?
아니다. 기계는 어떻게 사진을 입력 받을지, 어떤 것을 분석해야하는지, 어떤 답을 내놓아야하는지 아무것도 모른다.
하지만 우리는 강아지의 행위, 강아지의 감정, 강아지의 품종, 배경에 대한 정보마저 유추해낼 수 있다.
우리는 이 사진을 보고 경험에 의거하여 사진 내 요소들의 생김새, 형태, 크기, 특성 등을 본능적으로 분석 및 판단을 한 것이다.
AI 또한 마찬가지이다. 인간이 원하는 기능을 제공하기 위해서는 우선 학습되어야 한다.
학습의 방식으로는 크게 4가지 (지도학습, 비지도학습, 자기주도학습, 강화학습)가 있다.
학습 방식은 나중에 자세히 다루겠다.
중요한 것은 원하는 기능을 제공하는 AI를 만들기 위해서는 적절한 학습 과정을 지나쳐야 한다는 것이다.
학습이 AI의 성능을 판가름한다는 것이다.
AI 야 이것 좀 봐봐
다시 기초로 돌아와서, AI 에게 무언가 요청을 해야한다.
예를 들어, 오늘의 날씨를 음성으로 묻는다던지, 사진이나 영상을 제공한다던지 말이다.
AI가 눈이나 귀가 달린 것도 아닌데 어떻게 사용자가 제공하는 정보를 받아들이는 것일까?
이를 알아보기 위해 먼저 입력에 대해 알아야 한다.
데이터 처리
AI는 우리가 제공하는 정보를 어떻게 받아들이는 것일까?
간단하게 설명하자면, AI 마다 원하는 입력의 방식이 있으며 해당 방식에 맞게 입력 데이터를 변환하여 받아들인다.
사용자의 입장은 이렇더라도, 개발자라면 이야기가 달라진다.
개발자는 개발 과정에서 AI가 데이터를 어떻게 입력받아야 할지를 결정해주어야 한다.
이를 데이터 (전)처리라고 한다.
데이터 처리 도구
AI 개발의 첫 걸음은 바로 데이터 처리이다.
대개 Python, Numpy 가 데이터 처리의 대표적인 도구로 사용된다.
Python 은 사용자 친화적인 고수준 언어로 대부분 잘 알고 계신 부분이 많다.
그럼 Numpy 가 무엇일까?
Numpy
: Python 의 패키지이다. 다차원 배열(ndarray) 객체를 중심으로 빠른 과학적 연산을 지원한다.
Numpy 코드는 Python 의 간결함을 유지하며 C언어에 가까운 성능을 제공한다.
Numpy는 데이터 처리에 있어서 행해지는 복잡하고 규모가 큰 연산들을 효율적으로 처리하기 위해 사용한다고 보면 된다.
주로 벡터와 행렬에 관련된 개념이 많이 사용되니 사전에 학습해두면 이해하는데 큰 도움이 될 수 있다.
Python 과 Numpy 로 데이터 처리를 튜토리얼을 해보자.
오늘은 AI에 대해 조금 더 깊이 들여다보고 데이터 처리가 어떤 것인지 간단히 알아보았습니다.
다음으로는 Python, Numpy 를 활용하여 간단한 데이터 처리에 대한 기초를 다져봅시다.
'분야 > AI' 카테고리의 다른 글
[AI-3] Python List 자료형 (2) | 2025.02.23 |
---|---|
[AI-1] AI 를 학습하기 앞서 (7) | 2025.01.22 |