퓨처링 IT지식 인사이트 레터! 수학 빼고 이해하기 한 번의 요청으로 여러 입점사를 만나다 - B2B IT제품 거래 중계 플랫폼, FUTURING |
|
|
|
안녕하세요 퓨처링입니다!
이번 시간에는 수많은 영상과 수많은 글들이 설명하는 머신러닝과 딥러닝, 수학적인 개념을 제외하고 AI나 ChatGPT 처럼 AI 관련 머시기는 들어봤는데 뭐가 다른건지 궁금해 하시는 분들에게 수학적 개념 없이 설명해 보려고 하는데요, 한번 보실까요?
※ 이번 내용은 내용이 길어 축약한 내용이에요! 자세한 글을 보시려면 콘텐츠 라운지에서 확인해 보세요!
|
|
|
AI (Artificial Intelligence), 인공지능
인공지능, AI는 기본적으로 “뇌”를 카피한 알고리즘을 사용해요. 우리가 잘 아는 “뉴런”과 “시냅스”의 전기적 상호작용을 통해 판단하는 방식을 본따 컴퓨터에 이식하였어요. 즉, 사람이 판단하는 것처럼 기계가 스스로 판단하는 지능을 구현하게 된 것이죠. 인공지능을 구현하는데 있어, 가장 유명한 두 가지 방법인 머신러닝과 딥러닝이 있어요.
|
|
|
머신러닝은 딥러닝의 상위 개념
딥러닝(Deep Learning)은 머신러닝(Machine Learning) 중의 일부 입니다. 머신러닝을 구현할 수 있는 다양한 방법 중에 딥러닝이라는 방식이 있는 것이죠.
러닝(Learning)이라는 말에서 알 수 있듯이, 이런 AI 기술에는 “학습”시키는 것이 가장 중요한 주제에요. 마치, 부모님이 아이한테 한글이나 구구단 같은 것을 가르치듯이 말이죠.
머신러닝과 딥러닝은 컴퓨터가 데이터를 통해 경험을 쌓고, 그 경험을 바탕으로 새로운 데이터를 예측하거나 분류하는 기술입니다.
머신러닝과 딥러닝의 차이
이 중 머신러닝은 우리가 기계에게 “이 그림은 귀가 뾰족하고 눈동자가 얇기 때문에 고양이 그림이야. 알았지?”라는 방식을 사용하여 하나부터 열까지 사람이 직접 가르쳐 줍니다. 기계가 실수하지 않게, 최대한 만든 정보들에 대해 사람이 직접 알려주는 것이죠.
이에 반해 딥러닝은, “이게 왜 고양이 그림이게?”와 같은 질문을 던져 스스로 답을 찾게 만드는 방식 입니다. 고양이와 강아지 그림을 수 억장을 보여 주면, 기계는 그림을 쪼개서 분석하며 아. 이 그룹과 이 그룹은 이런 차이가 있구나를 스스로 학습하게 되는 것이죠.
이는 사람이 고양이나 강아지를 분별할 때 단순 모양만이 아닌 행동, 울음소리들을 통해 판단을 하는 방식과 많이 닮아 있습니다.
|
|
|
딥러닝의 구조
아마도 많은 아티클이나 동영상에서 보셨겠지만 머신러닝과 딥러닝은 여러 층(Layer)로 구성되어있고, 크게 입력층, 출력층, 그리고 은닉층이 있습니다.
은닉층 (Hidden Layer)
입력층은 데이터가 입력되는 층이며, 출력층은 계산 결과에 따른 올바른 값을 찾는 층 입니다. 은닉층은 입력에 따른 결과가 원하는 답변에 가까워 지기 위해 판단하는 방법을 모아놓은 층입니다.우리가 특정 사물을 보고 어떤 물건이라고 판단하기 전에 어떤 특징으로 구별했는지를 다양한 알고리즘을 통해 판단해 보는 것이죠. 이 은닉층이 2개 이상 존재하게 되면 딥 러닝(Deep Learning)이라고 부르게 됩니다. 좀 더 깊게 학습한다는 뜻 이에요.
가중치 (Weight)
가중치는 여러 개의 은닉층 구조 중에서 “이 판단이 좀 더 정답에 가까운가?”에 대한 수치에요.
이는 뇌를 모방한 것인데, 뉴런이 시냅스를 통해 정보를 전달할 때 수많은 정보 중에서 좀 더 정확하거나 정답에 가까운 정보에 강한 신호를 보내게 되요. 이를 가중치라고 부르고, 이를 통해 가중치가 일정 수치 이상에 도달하게 되면 해당 구조를 이용하여 결과값을 도출할 수 있게 되죠.
딥러닝 모델을 만들 때 처음에는 임의로 가중치가 부여되고, 학습이 반복될 수록 가중치를 변화시켜 올바른 길로 인도(?) 합니다. 그래서 초반에 딥러닝은 많은 실수를 하게 되죠.
역전파 (BackPropagation)
역전파는 결과값이 부정적일때, 다시 은닉층으로 돌아가 검토를 하는 역할을 합니다.. 이 모델을 만드신 분이 바로 노벨 물리학상을 받은 힌튼 교수 입니다.
보통 입력층 -> 은닉층 -> 결과층으로 계산하고 난 후 (순전파), 오차를 측정하여 다시 은닉층 -> 입력층으로 계산하면서 오차에 따른 가중치를 부여하는 방식을 역전파라고 합니다.
예를 들면, 강아지를 보여 주면서 “이건 고양이가 아니야.” 라고만 한다면 왜 고양이가 아닌지 알 수 없게 됩니다. 그래서 “왜 고양이 그림이 아니지?”에 대한 고민을 해보고, 다른 정보들로 다시 판단을 해보면서 “아. 이래서 고양이가 아니구나.” 라고 학습했다면, 이후에는 처음 보는 데이터를 만나더라도 고양이가 맞는지 아닌 지에 대한 판단을 스스로 할 수 있게 되는 것이죠. |
|
|
FLOPs와 FLOPS
컴퓨터는 원래 정수형 (0,1,2,3,4,5….등)을 처리하는 계산기였기 때문에 부동소수점(0.1, 1.2345…. 등)을 연산하려면 숫자를 나누어서 계산한 다음 다시 합치는 과정을 거쳐야 했습니다. 굉장히 많은 시간이 소요 되었죠. 차후 컴퓨터가 발전하면서 부동소수점 연산에 대한 성능 개선이 많이 이루어 졌습니다. 프로세서에 부동 소수점 연산이 통합되게 되었죠.
머신러닝이나 딥러닝은 모델에서 오차 수치나 가중치에 대한 합이나 곱을 계산하면서 부동소수점을 사용하기 때문에, AI 성능에서 이런 연산 처리 능력이 중요합니다.
이런 부동소수점 연산 처리능력을 수치화하는 단위 중에 FLOPs와 FLOPS가 있는데요, 두 개는 서로 다른 단위입니다. 간단히 내용을 살펴 보자면,
FLOPs (Floating Operations)
AI 모델이 순전파 과정동안 처리하는 총 양의 수치를 표현해요. 즉, 이 모델이 얼마나 부하를 일으킬까?에 대한 수치라고 보시면 되요. AI 모델의 최적화를 필요로 할 때 이 수치를 많이 쓰죠.
FLOPS (Floating Operation Per Second)
FLOPS는 초당 처리할 수 있는 부동소수점 연산 처리 수에요. 이것은 즉, 이 하드웨어가 얼마나 많은 양을 처리할 수 있느냐가 관건인 것이죠. GPU의 성능을 측정할 때 쓰입니다.
여러분이 AI용 하드웨어를 도입하실 때에는, 자신의 AI 모델링의 FLOPs를 계산해보고 이에 맞는 FLOPS 이상을 지원하는 하드웨어를 도입하실 수도 있겠죠? (사실 실사용되는 모델링이 단순하게 만들어진 경우는 드물기 때문에 FLOPs만 가지고 비교를 하기에는 무리가 있긴 합니다!) |
|
|
오늘은 딥러닝에 대해 알아보았는데요, 딥러닝보다 좀 더 높은 레벨의 기술이 발전할지라도, 출발선을 이해하고 있으면 그들의 발전 상을 이해하는데도 도움이 될 것 같아요.
AI 솔루션이나 하드웨어를 도입하고 싶다면? 전문 입점사들이 모여 있는 퓨처링에서 견적 신청 해 보세요! 그럼, 다음 시간에 다시 찾아 오겠습니다! |
|
|
퓨처링에서는 다양한 니즈를 필요로 하는 고객분들에게 맞춤 서비스를 제공하기 위해 다양한 공급사가 언제나 대기 중이에요! 견적이나 기술지원이 필요하다면?
퓨처링을 방문해 보세요!!! |
|
|
|