오늘 소개드릴 강의는 본격적인 인공지능 강의입니다. 역시 같은 강사가 가르치는 강의로 2개가 있습니다.

 

첫번째는 이미지 인식 딥러닝 강의입니다. (https://www.udemy.com/course/computer-vision-a-z/learn/lecture/8127614?start=15#overview)

이 강의는 본격적인 딥러닝 강의로 지난 시간에 소개해드린 머신러닝 강의에서 설명한 딥러닝을 이미지 인식에 적용하는 것을 배우는 강의입니다. 강의 소개문을 보겠습니다.

--------------------------------------------------------------------------------------------------

AI와 딥러닝에 대해 들어본 적이 있을 것입니다. 하지만 이 새로운 산업 혁명에서 내 위치가 무엇인지, 소비자인지 창작자인지 고민해 본 적이 있을까요? 대부분의 사람들에게 그 답은 소비자일 것입니다. 하지만 만약 여러분도 창작자가 될 수 있다면 어떨까요? 여러분이 쉽게 인공지능 세계에 들어가, 최신 기술을 활용한 멋진 응용 프로그램을 만들어 세상을 더 나은 곳으로 바꿀 수 있다면요? 너무 좋은 이야기처럼 들릴 수도 있지만, 실제로 그 방법이 존재합니다.

 

그 방법 중 하나는 바로 "컴퓨터 비전"입니다. 컴퓨터 비전은 AI 분야 중 가장 쉽게 창작자가 될 수 있는 길입니다. 그리고 그것이 가장 쉬운 길일 뿐만 아니라, AI의 여러 분야 중 가장 많은 창작을 할 수 있는 분야이기도 합니다. 왜 그럴까요? 바로 컴퓨터 비전이 거의 모든 분야에 적용되기 때문입니다. 의료, 소매업, 엔터테인먼트 등 그 범위는 정말 광범위합니다. 이미 컴퓨터 비전 시장은 180억 달러 규모로, 급격히 성장하고 있습니다.

 

예를 들어, 환자의 MRI 뇌 스캔에서 종양을 탐지하는 기술을 생각해 보세요. 인간보다 10,000배 더 많은 이미지를 분석할 수 있기 때문에, 매일 더 많은 생명이 구해지고 있습니다. 그리고 만약 여러분이 컴퓨터 비전이 아직 적용되지 않은 산업을 찾았다면, 그보다 더 좋은 기회는 없습니다. 그건 바로 여러분이 그 산업에서 새로운 사업 기회를 잡을 수 있다는 뜻이니까요.

 

그렇다면 이제 어떻게 컴퓨터 비전의 세계에 들어갈 수 있을까요? 지금까지 컴퓨터 비전은 상당히 복잡하고, 그만큼 점점 더 복잡해져 가고 있었습니다. 코드, 라이브러리, 툴이 많아질수록 길을 잃기 쉬워졌습니다. 더욱이 컴퓨터 비전을 활용하려면 그것을 어떻게 사용하는지를 아는 것뿐만 아니라, 그 원리가 무엇인지도 이해해야 최대한 이점을 취할 수 있습니다.

이 문제를 해결하기 위해, 저희는 "컴퓨터 비전 A-Z"라는 강의를 준비했습니다. 이 강의를 통해, 여러분은 가장 인기 있는 컴퓨터 비전 방법들이 어떻게 작동하는지 배우고, 그것들을 실제로 적용하는 방법을 익힐 수 있습니다.

 

이 강의를 통해 배울 내용은 다음과 같습니다:

  • 강력한 컴퓨터 비전 모델들을 다룰 수 있는 도구 상자
  • 컴퓨터 비전의 이론 이해
  • OpenCV 마스터하기
  • 객체 탐지 마스터하기
  • 얼굴 인식 마스터하기
  • 강력한 컴퓨터 비전 응용 프로그램 만들기

강의에 필요한 조건은 매우 간단합니다. 고등학교 수학 지식과 기초적인 파이썬 프로그래밍 지식만 있으면 됩니다. 이 강의는 컴퓨터 비전이나 인공지능에 관심이 있는 모든 사람을 대상으로 합니다. 여러분도 창작자가 될 수 있는 기회를 놓치지 마세요!

-------------------------------------------------------------------------------------------------

두번째는 강화학습(Reinforcement Learning)과 대규모언어모델(Large Language Model)에 관한 강의입니다.

(https://www.udemy.com/course/artificial-intelligence-az/learn/lecture/12606408?start=1#overview)

강화학습이란 쉽게 말해서 어떤 상황에서 어떤 선택을 하느냐를 결정하는 모델을 학습시키는 것을 말합니다. 간단히 예를 들자면, 2차원 평면에서 일어나는 간단한 게임을 들 수 있습니다. 패크맨(Pacman)의 경우 2차원 미로에서 돌아다니면서 술래들을 피해서 콩을 먹으로 다닙니다. 이때 패크맨이 취할수 있는 행동은 위/아래/우측/좌측 이동 등 총 4가지의 움직임이 있습니다. 그리고 패크맨이 위치한 환경은 2차원 미로와 그 미로를 돌아다니는 술래들입니다.

 

그래서 패크맨 자신의 위치, 주변 미로의 생김새, 주변 술래의 위치 등을 입력으로하고, 방향선택을 출력으로하는 모델을 만들 필요가 있습니다. 학습을 할때 술래에게 잡히면 벌점, 콩을 먹으면 보상을 주는 방식으로 모델을 '학습'시킵니다. 처음 학습이 되지 않은 생태에서는 멋대로 다니다가 술래에게 잡혀서 벌점을 먹습니다. 하지만 학습이 반복되면, 주어진 상황에서 어떤 방향으로 가야 술래를 피해서 콩을 먹으러 갈수 있는지 스스로 판단하게 됩니다.

 

대규모 언어모델도 이와 비슷하게 동작합니다. 주어진 입력(주어진 문장)에 대해서 학습한 결과대로 가장 적절해 보이는 문장(응답 문장)을 출력합니다. 이 때 학습에 사용된 수많은 화자간의 대화가 바로 위에서 예를 든 미로, 술래 등에 해당합니다. 그럼 아래에 강의 소개문을 한번 보겠습니다.

--------------------------------------------------------------------------------------------------

인공지능(AI)에 대한 기본 개념을 직관적으로 배우고, 이를 실제로 8개의 다양한 AI를 구축하며 연습할 수 있는 기회를 제공합니다.

 

이 강좌에서는 다음과 같은 AI를 구축합니다:

  1. 비즈니스 지원을 위한 기초 모델(LLM)을 활용한 AI 에이전트 구축
  2. Q-러닝 모델을 사용하여 창고 흐름을 최적화하는 AI 구축
  3. 심층 Q-러닝 모델을 사용하여 달에 착륙하는 AI 구축
  4. 심층 컨볼루션 Q-러닝 모델을 사용하여 팩맨 게임을 플레이하는 AI 구축
  5. A3C(비동기적 이점 액터-크리틱) 모델을 사용하여 Kung Fu 전투 AI 구축
  6. PPO(근접 정책 최적화) 모델을 사용하여 자율 주행 자동차 AI 구축
  7. SAC(소프트 액터-크리틱) 모델을 사용하여 자율 주행 자동차 AI 구축
  8. 강력한 사전 훈련된 LLM(Llama 2 by Meta)을 미세 조정하여 의학 용어에 대해 대화할 수 있는 AI 의사 챗봇 구축

 

이것이 전부가 아닙니다. 강의를 완료하면 3개의 추가 AI도 받을 수 있습니다: DDPG, 풀 월드 모델, 진화 전략 및 유전자 알고리즘. 이 AI들은 자율 주행 자동차와 휴머노이드 애플리케이션을 위해 ChatGPT와 함께 구축됩니다. 각 AI에 대해 긴 동영상 강의와 함께 구현 설명서, 미니 PDF, 그리고 파이썬 코드가 제공됩니다. 또한 강의를 완료한 수료자에게는 "Generative AI와 LLMs을 클라우드 컴퓨팅과 함께 사용하는 3시간 추가 강의"를 무료로 제공합니다.

 

이 강좌에서 제공되는 내용은 다음과 같습니다:

  1. 초급에서 전문가까지 AI 기술 습득: 다양한 목적을 위한 자기 개선 AI를 코드로 작성하며 학습합니다. 모든 튜토리얼은 빈 페이지에서 코드 작성을 시작하고, 각 코드를 하나하나 작성하며 이해할 수 있도록 돕습니다.
  2. 간편한 코딩 및 코드 템플릿: 모든 AI는 구글 콜랩에서 구축되므로 라이브러리나 패키지를 설치하는 번거로움 없이 바로 시작할 수 있습니다. 각 AI마다 다운로드 가능한 파이썬 코드 템플릿(.py, .ipynb)을 제공합니다.
  3. 직관적인 튜토리얼: 복잡한 이론을 일방적으로 강의하는 대신, 왜 그렇게 하는지를 깊이 이해하도록 도와주는 직관적인 튜토리얼을 제공합니다. 이 과정에서는 수학적 복잡성보다는 직관을 중심으로 학습합니다.
  4. 실제 문제 해결: 5개의 AI 모델을 구축하며 실제 환경에 적합한 AI를 만들어내는 방법을 배우게 됩니다. 연습을 통해 AI를 실제 문제에 적용하는 능력을 기를 수 있습니다.
  5. 과정 내 지원: AI 분야 전문가들로 이루어진 지원팀이 여러분의 학습 여정을 돕기 위해 48시간 이내에 응답을 제공합니다.

 

이 강좌는 인공지능, 기계학습, 또는 딥러닝에 관심 있는 모든 사람을 대상으로 합니다. 여러분도 이 흥미로운 AI 세계에 발을 들여놓고, 계속 배우며 AI를 즐길 준비가 되셨나요? 지금 바로 함께 하세요!

 

배울 내용:

  • 7개의 다양한 AI 구축
  • 인공지능 이론 이해
  • 최신 AI 모델 마스터
  • 실제 문제 해결을 위한 AI 활용
  • Q-러닝, 심층 Q-러닝, 심층 컨볼루션 Q-러닝, A3C, PPO, SAC 모델 마스터
  • LLMs 및 트랜스포머, LoRA와 QLoRA, NLP 챗봇 기법 학습
  • LLM 미세 조정 및 지식 증강 학습
  • 추가 AI: DDPG, 풀 월드 모델, 진화 전략 및 유전자 알고리즘

 

강의 요구 사항:

  • 고등학교 수학
  • 기본 파이썬 지식

이 강의의 대상:

  • 인공지능, 기계학습, 딥러닝에 관심 있는 모든 사람

 

--------------------------------------------------------------------------------------------------

 

지난번 글에서 데이터 과학 강의를 소개했는데, 이번에는 이어서 기계학습 강의에 대해서 소개를 하겠습니다. Udemy에서 역시 같은 강사가 올린 강의입니다. 제목은 "Machine Learning A-Z: AI, Phython & R + ChatGPZ Prize [2025]"입니다.

강의 주소(https://www.udemy.com/course/machinelearning/learn/lecture/20015232?start=195#overview)

이 강의에서는 각종 기계학습 방법에 대해서 배울 수 있습니다. 기계학습이란, 어떤 데이터가 입력이 되었을 때, 데이터가 무엇을 의미하는지를 판정해주는 방법 혹은 모델이라고 할 수 있습니다. 기계학습의 대표적인 기법 중의 하나기 딥러닝입니다만, 딥러닝 이외에도 다양한 기법이 있습니다.

본 강의에서는 그러한 각 기법들의 개념을 먼저 설명하여, 수강자들이 먼저 개념을 이해하도록 돕고, 그런후 python을 이용하여 실습할 수 있도록 하고 있습니다. 따라서 강의에서 설명하는대로 코드를 직접 작성하여 실행해 볼 수 있습니다.

그럼 강의 설명을 요약해 올려보겠습니다.

----------------------------------------------------

이 강의는 머신러닝 분야에 관심이 있는 사람들을 위한 과정입니다. 데이터 과학자와 머신러닝 전문가가 설계한 이 강의는 복잡한 이론, 알고리즘, 코드 라이브러리를 간단하게 배우고 이해할 수 있도록 돕습니다. 전 세계 100만 명 이상의 학생들이 이 강의를 신뢰하고 있으며, 단계별로 머신러닝의 세계로 안내합니다. 각 튜토리얼을 통해 새로운 기술을 배우고 이 도전적이면서도 보람 있는 데이터 과학 분야를 깊이 이해하게 됩니다.

이 강의는 파이썬 또는 R 튜토리얼 중 하나를 선택하여 학습할 수 있으며, 둘 다 공부할 수도 있습니다. 여러분의 경력에 맞는 프로그래밍 언어를 선택하면 됩니다. 강의는 재미있고 흥미롭지만 동시에 머신러닝에 대해 깊이 탐구합니다. 강의는 다음과 같은 구조로 진행됩니다.

  1. 데이터 전처리
  2. 회귀 분석: 단순 선형 회귀, 다중 선형 회귀, 다항 회귀, 서포트 벡터 회귀, 결정 트리 회귀, 랜덤 포레스트 회귀
  3. 분류 분석: 로지스틱 회귀, K-NN, 서포트 벡터 머신(SVM), 커널 SVM, 나이브 베이즈, 결정 트리 분류, 랜덤 포레스트 분류
  4. 클러스터링: K-평균, 계층적 클러스터링
  5. 연관 규칙 학습: Apriori, Eclat
  6. 강화 학습: 상한 신뢰 구간, 톰프슨 샘플링
  7. 자연어 처리: Bag-of-words 모델과 NLP 알고리즘
  8. 딥러닝: 인공 신경망, 합성곱 신경망(CNN)
  9. 차원 축소: PCA, LDA, 커널 PCA
  10. 모델 선택 및 부스팅: k-겹 교차 검증, 파라미터 튜닝, 그리드 서치, XGBoost

각 파트 내의 섹션은 독립적으로 진행되므로, 전체 강의를 처음부터 끝까지 들을 수도 있고, 현재 자신에게 필요한 섹션만 선택하여 배울 수도 있습니다. 또한, 이 강의는 실제 사례를 바탕으로 한 실습을 포함하고 있어 이론뿐만 아니라 실제 모델을 구축하며 실습할 수 있습니다.

강의는 파이썬과 R 코드 템플릿도 제공하여, 학습한 내용을 실제 프로젝트에 적용할 수 있도록 돕습니다. 학습 후에는 머신러닝 모델을 선택하고, 예측을 정확하게 하며, 강력한 분석을 수행할 수 있게 됩니다. 또한, 강의는 강화 학습, 자연어 처리, 딥러닝, 차원 축소와 같은 고급 기술도 다룹니다. 머신러닝을 통해 비즈니스에 가치를 더하고, 데이터 과학 분야에서 경력을 쌓을 수 있는 능력을 키울 수 있습니다.

이 강의는 고등학교 수학 수준의 기초 지식만 있으면 누구나 수강할 수 있습니다. 머신러닝에 관심이 있는 사람, 기초 알고리즘을 아는 중급 수준의 사람, 코딩에 익숙하지 않지만 머신러닝을 배우고 싶어 하는 사람 등 누구나 수강 가능합니다. 데이터 과학에서 경력을 시작하고자 하는 대학생, 데이터 분석가 등에게도 적합한 강의입니다.

​---------------------------------------------------------------------------------------------------------------------------------

 

 

기계학습에는 다양한 학습기법이 존재합니다만, 그중 단연 성능이 좋은 기법은 딥러닝(Deep Learning)입니다. 이 방법은 사람의 뉴런을 모방해서 만든 방법입니다. 가장 중요한 기법이고 내용도 별로 어렵지 않아 여기서 간단히 설명해 보겠습니다.

 

아래는 인공 신경망을 그린 그림입니다.

오른쪽에는 단위 신경(셀: Cell)을 그린 그림이고, 왼쪽은 그런 셀(밝은 회색 셀들)이 여러개가 배치되어 입력과 출력을 하는 그림입니다.

 

먼저 왼쪽 그림을 설명해 보겠습니다.

위의 신경망은 어떤 이메일이 스팸인지 아닌지를 판정하는 모델이라고 해 보겠습니다. 여기서 x1부터 xn은 총 n개의 입력(어두운 회색 셀들)을 의미합니다. 여기서 x는 어떤 종류의 정보라도 됩니다. 예들 들어서 그럼 입력, x1 부터 xn은 메일안에 들어있는 특정 단어의 빈도 수라고 해 볼수 있겠습니다. 그리고 출력은 2개, 측 스팸메일(yes)인지 아닌지(no)가 됩니다. 그래서 그림의 맨 오른쪽에 출력(하얀색 셀)이 2개('그렇다'셀과 '아니다'셀)가 있습니다.

 

입력과 출력의 중간에 2줄로 배치된 셀들(밝은 회색 셀)이 판단하는 층(Layer)입니다. 입력과 출력의 사이에 있으므로 숨겨진 층(Hidden Layer)라고 부릅니다. 숨겨진 층은 그림처럼 2줄일수도, 1줄일수도, 그리고 여러 줄일수도 있습니다. 딥러닝이라는 이름은 숨겨진 층때문에 붙은 이름입니다. 말그대로 깊이(Deep) 숨겨져있기 때문입니다.

 

만일 어떤 메일이 스팸메일이라면, 수신인에게 어떤 것을 권하는 내용이 들어 있을 수 밖에 없고, 그렇다면 관현하여 특정 단어(예를 들어서 특정 상품의 이름 등)가 많이 등장하게 됩니다.

 

우측 그림을 설명하면, 셀이 하는 역할은 단순하게 더하기 입니다. 그림에서 빨간색 상자로 표신된 셀을 예로 들어 설명해 보겠습니다. 이 셀은 위에서부터 j번째 셀입니다. 이 셀은 x1로 부터 xn까지의 모든 입력을 취합합니다. 이때 단순히 모득 값을 더하는 것이 아니라 각 값에 가중치(weight factor)를 곱한 후 합쳐줍니다. 그러니까 x1의 값에 가중치w1j를 곱하고, x2에 w2j를 곱하고, x3에 w3j를 곱하고, ..., xn에 wnj를 곱한 후, 이 값들을 모두 더합니다. 셀 내부에 있는 시그마 기호가 이것을 표시합니다.

 

그러나 j번째 셀만 합산을 하는 것이 아니라, 숨겨진 층에 있는 모든 셀들이 동시에 합산을 합니다. 또한 숨겨진 층의 두번째 줄의 셀들은 x가 아니라 첫번째 줄의 셀들의 합산값을 입력으로 받습니다.

 

그럼 각 셀이 합산한 값은 어떻게 출력으로 결정될까요? 이것은 바로 전달함수(activation function)에 의해서 결정됩니다. 셀안에 f가 그것을 의미합니다. 전달함수에는 여러 종류가 있지만 대표적으로 많이 사용되는 것은 ReLu함수 입니다. 아래는 ReLu함수의 모양입니다.

위 그래프의 의미는, 합산 결과가 0이하의 음수이면 0을 출력하고, 그 외의 경우에는 합산값의 결과에 비례하게 커지는 어떤 값을 출력한다 입니다. 그러니까, 합산의 결과가 클 수록 다음 단, 첫번째 숨겨진층은 두번째 숨겨진 층으로, 그리고 두번째 숨겨진 층은 출력으로 크게 전달합니다.

 

그래서 최종적으로 출력에서는 메일이 스팸에 가까울 수록 '그렇다'에 가까운 결과가 나옵니다. 만약 출력을 0에서 1사이의 실수로 표시할 경우, 1에 가까운 결과가 나오고, '아니다'에 가까울 경우, 0에 가까운 결과가 나옵니다.

 

그렇다면 각 가중치는 어떻게 결정될까요? 바로 이 가중치를 결정하는 과정이 '학습'입니다. 위 신경망에서 출력값은 셀의 가중치 합산으로 결정된다고 말씀드렸습니다. 이 출력값은 입력 데이터(메일 내의 각 종 단어들의 빈도(x값들) + 학습 데이터(스팸이다 혹은 아니다)) 중 학습 데이터(스팸 여부)과 비교합니다. 이 때, 학습 데이터는 학습 전에 미리 사람이 판단하여 신경망에게 알려줍니다. 따라서 각 메일마다 사람이 일일이 스팸인지 아닌지 여부를 정해 놓아야 하며, 메일의 개수(즉 입력 데이터)가 많을 수록 신경망의 판정 능력이 좋아집니다.

 

위의 비교하고 학습하는 방법은 경사하강법이라는 방법입니다. 출력값을 학습데이터값과 비교하여 차이가 클 경우(측 신경망이 판단한 결과와 실제 스펨여부가 차이가 클 경우) 각 가중치를 수정합니다. 아래에 경사하강법을 설명하는 그림이 있습니다.

 

위 그림에서 가로축은 어느 하나의 가중치 wij의 값이며, 세로축은 출력값과 학습데이터값 사이의 차이라고 할 수 있습니다. 즉 세로축의 값이 클 수록 판정 결과가 잘못되었다는 의미입니다. 거꾸로 판정이 정확하다는 것은 그래프에서 아래로 향해야 한다는 의미입니다. 그래서 처음 빨간 점에서 시작해서, wij의 값을 조금씩 감소시켜서 그래프의 가장 바닥에 도달할때까지 wij의 수정을 반복합니다. 경사하강법은 여기서 유래합니다. 그래프의 기울기가 큰 부분에서 기울기가 0이 될때까지 wij를 수정합니다.

 

물론 wij 하나의 값에 대해서만 경사하강을 하는 것이 아니며 다른 가중치에 대해서도 동시에 경사하강법을 실시합니다. 그 아래의 그림은 두개의 가중치에 대해서 그린 것이며 검은색 선은 경사하강법에 의해서 결정되는 경로를 의미합니다. 가중치의 개수는 위의 신경망 그림에서 총 2*j 개수만큼 있으니, 실제로 경사하강법을 실시하는 차원은 총 2*j개의 차원입니다. 우리는 3차원에서 살고 있으니 위 그림처럼 가중치를 최대 2개까지 밖에 그릴 수 없습니다만, 계산 상으로는 얼마든지 높은 차원에서 경사하강법을 실시할 수 있습니다.

 

위처럼 경사하강법에 의해서 세로축의 값이 최소가 되는 가중치값들이 결정되면 비로소 학습이 끝난 것입니다. 이때부터 입력이 들어오면 신경망은 스팸여부를 판단할 수 있습니다.

 

 

+ Recent posts