안녕하세요? 6강 선형회귀입니다.

강의보고오기: https://youtu.be/bPKHIGEh6gU?si=t9fQRQSQwFZd2ZX7

 

6강은 간단한 선형회귀 모델의 예시와 우리가 그린 빨간선이 데이터를 잘 설명하는가에 대한 지표 2개 MSE(Mean Squared Error와 R2 스코어를 다루고 넘어갑니다.

 

우리가 중고등학교때 가장 익숙한 식 중 하나가 $y = ax + b$ 였을 겁니다. a를 기울기, b를 절편이라고 배웠죠. 보통 $a, b$가 주어진 상태에서는 $x, y$의 관계를 그래프로 그려보며 의미를 이해했습니다.

 

선형회귀 예시 - 머신러닝에의 관심사는 a, b

머신러닝에서는 $x, y$가 데이터로서 주어지고 우리는 $a, b$를 구해야 합니다. 그리고 이 때 $a, b$를 다르게 표기 합니다. $a$는 weight(가중치), b를 bias(편항)로 표현하며, 식은 아래와 같습니다.

$$ y = wx + b $$

$x, y$ 값은 데이터로 주어질 것입니다. 가장 많이 사용하는 집값의 예를 보겠습니다. 

면적과 집값과의 관계

 

그림에서 첫 번째 열이 면적 $x$의 값입니다. 두 번째열은 집의 가격 $y$입니다. 두개 열의 데이터를 학습하여 집값을 빨간선으로 예측합니다.

 

저 빨간선을 그리기 위해서 우리가 알아야 할 값은 뭘까요? 1차 방정식에서 기울기( $ w $ )와 절편( $ b $ )를 알면 우리가 원하는 빨간선을 그릴 수 있습니다. 데이터를 바탕으로 데이터를 가장 잘 설명하는 빨간선을 찾는 것이라고 표현할 수 있습니다. 

 

학습하는 코드를 보겠습니다.

 

선형회귀 코드

 

코드 진짜 간단하죠? 생성형 AI를 활용해서 만들었습니다. 만약 코딩을 공부하고 싶으시면 이론을 공부하신 후에 생성형 AI에 만들어 달라고 하면 코드를 만들어 줄겁니다. 그리고 한줄 한줄 설명도 해줍니다. 쉽죠?

 

하지만 우리는 저 코드안에 들어있는 알고리즘에 대한 공부를 할 예정입니다. 결코 쉽지 않습니다. 

 

평가 지표 - MSE, R2 Score

우리가 그린 빨간선이 얼마나 데이터를 잘 설명해주는가를 평가하기 위한 지표 2개를 설정했습니다.  MSE와 R2 스코어입니다. 이 중에서 MSE는 앞으로 앞으로 자주 등장하니 눈여겨 보시기 바랍니다.

 

강의에서 두개의 지표에 대한 자세한 설명을 했습니다. 잘못된 내용은 피드백 바랍니다. 



의견

저는 원래 실용주의적인 성향이 강해서 이론보다는 코드 구현을 중요하게 여겼지만, 최근에는 생각이 바뀌었습니다. 이론을 이해하고 생성형 AI와 소통하며 코딩하고 결과를 분석하는 과정이 더 중요하다고 생각합니다. 대학원에서 대부분의 과제를 생성형 AI의 도움을 받아 수행해보니, 이론을 알아야 생성형 AI에게 좋은 명령과 질문을 할 수 있음을 알게 되었습니다. 또한, 코드와 실행 결과를 해석하고, 생성형 AI가 잘못된 정보를 제공할 때 이를 수정할 수 있습니다.

 

언젠가는 이론을 몰라도 모든 것을 쉽게 구현할 수 있는 날이 올지도 모릅니다. 과거에 수학 계산원이 중요한 역할을 했지만 컴퓨터의 등장으로 사라진 것처럼, 언젠가는 컴퓨터 관련 개발자도 사라지고 연구자만 남을 수도 있습니다. 마치 수학 분야에서 연구자는 여전히 남아 있는 것처럼요.

 

하지만, 아직까지는 AI 개발자에게 이론 지식은 중요합니다. 새로운 기술이 나왔을때 관련 문헌을 읽고 적용하기 위해서는 이해가 필요합니다. 현재 급속도로 새로운 기술이 나오고 있는 상태죠. 그리고 생성형 AI 특성 상 잘 알려지지 않은 도메인에 대해서는 깊은 이해가 없어 오류도 높을 수 있습니다. 아직 사람의 수정과 선택이 필요한 상태이니 열심히 공부하시기 바랍니다.~

 

 

감사합니다.

'Machine Learning' 카테고리의 다른 글

8강 선형회귀 - Loss Function  (0) 2024.07.20
7강 벡터  (0) 2024.07.20
5강 머신러닝의 개요 subNote - for 기술사  (0) 2024.07.17
4강 머신러닝 뜻 / 머신러닝 개요  (0) 2024.07.17
3강 인공신경망의 역사  (1) 2024.07.16

강의보고오기:  https://youtu.be/e4ScjpAjkBU?si=AdBXxmFe_5uC_lDx

 

ITPE에서 제공해 주신 서브노트를 바탕으로 머신러닝의 개요를 설명드렸습니다. 4강에서 처럼 기존 서브노트 내용 중에서 제 생각과 다른 부분을 설명드렸습니다. 제가 틀릴 수도 있으니 보시는 분들 모두 비판적으로 봐주시고 틀린 내용 피드백해 주시면 고치도록 하겠습니다. 

 

머신러닝이 분류와 예측을 하게 만들어진 것도 우리 인간이 하는 일이 분류와 예측이기 때문인거 같습니다. 머신러닝이 이런 일을 하게 만든것도 우리 인간이 하는일을 대신하게 만들려고 한거니까 당연한 결과인거 같습니다. 

 

자세한 내용은 강의를 참고하세요~

 

감사합니다.

'Machine Learning' 카테고리의 다른 글

7강 벡터  (0) 2024.07.20
6강 선형회귀  (0) 2024.07.18
4강 머신러닝 뜻 / 머신러닝 개요  (0) 2024.07.17
3강 인공신경망의 역사  (1) 2024.07.16
2강 인공지능 뜻(AI 뜻) - Russell & Norvig 표준정의  (1) 2024.07.16

강의보고오기: https://youtu.be/dxqHj1v8HQ8

 

안녕하세요? 

 

드디어 머신러닝입니다. 강의 앞부분에 인공지능 관련한 서브노트 리뷰 부분이 있습니다. 서브노트에 제 생각에 틀리다고 할 수 있는 내용이 있습니다. 

 

서브노트 인공지능 정의 고치기

인공지능의 정의: 인간의 신경망을 수학적 모델로 Machine이 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술/Computer Science의 분야 

출처: ITPE 서브노트

 

 

위의 정의를 보고 혹시 이상함을 느끼셨나요? 저는 학창시절 객관식 문제를 볼때 "다음 중 틀린 것은?" 의 문제 유형이 더 쉬웠습니다. 가끔 "다음 중 틀린 것은?"  에 밑줄 같은 강조 표시가 없어서 실수 한적도 있지만요. 그리고 옳은 것을 고르는 문제를 풀때도 틀린 걸 지워나가며 풀었던 것 같습니다. 한마디로 대부분의 사람이 틀린 거 찾기에 더 익숙하다는 거죠. 그래서 틀린 내용을 보고 고쳐보면 학습에 많은 도움이 되는 것 같습니다. 

 

 

"인간의 신경망을 수학적 모델로 Machine" 이 부분은 인공지능이 아니라 인공신경망과 관련된 얘기입니다. 지난 강의에서 말씀드렸지만, 충돌 후에 랜덤으로 회전하는 로봇청소기도 인공지능입니다. 이 로봇청소기가 인공신경망이 없다고 해서 인공지능이 아니다라고 할 수 없는거죠. 단지, 똑똑하지 못할 뿐입니다. 또한 뒷부분의 인간의 학습능력과 ... 이 부분도 MA Book 기반으로 생각해보면 인공지능의 정의라고 하기에는 너무 협소합니다. 

 

MA book 기반의 인공지능 정의가 궁금한 분은 MA book이나 2강 링크(https://syai.tistory.com/5) 참고하세요. 

 

머신러닝 정의 

기술사 공부하며 가장 도움된 부분은 어떤 용어든 정의를 먼저 보고 스스로 가장 적합한 정의를 찾아보려고 하는 것입니다. 예전의 저는 이해자체에 중심을 두어서 "정의"에 크게 신경을 쓰지 않았습니다.  내가 무슨 공부를 하려는 건지 본질에 대한 사유와 고찰이 "정의"부터 시작된다는 걸 잘 몰랐습니다. 

 

경험(E)을 바탕으로 작업(T)성과(P)를 높이는 학습(L) 알고리즘(A)을 연구하는 분야. 

머신러닝 뜻 개념도
머신러닝 정의 개념도

 

기술사 공부하시는 분들은 ET PAL이라고 외우시고요, 다른 분들은 왜 이렇게 정의할 수 있는지 곰곰히 생각해보시면 됩니다. 사실 저는 상기 정의가 아주 마음에 드는 것은 아닙니다. 저는 "분류와 예측"이라는 말을 넣고 싶거든요. 머신러닝이 하는 일은 대부분 수학적 이론을 바탕으로 데이터를 학습하여 "분류와 예측"을 수행하기 때문입니다. 

 

 

머신러닝의 분류

그런데 잘 생각해보면, 제가 회사에서 보고서를 쓸 때 하던일이 대부분 "분류와 예측" 이였던 것 같습니다. 그래서 Machine Learning이 발달 할 수도록 제가 불안한가 봅니다. 제가 하던일을 저보다 더 빠르게 잘하니까 제가 필요 없어질 수 있다는 위기감이 계속해서 들고있으니까요. 

 

다음 내용은 ML을 "분류"하는 것입니다. 우리가 머신러닝을 어떻게 구분할까요? Label이 있는 데이터를 학습한 후에 하는 분류와 예측을 우리는 Supervised Learning이라고 하고요, Label이 없는 데이터를 학습한 후에 기계가 분류와 예측을 한다면 Unsupervised Learning이라고 부릅니다.  

 

상세한 내용은 강의 내용을 참고하시고, 틀린 내용이 있다면 피드백 주세요. 

 

감사합니다.

 

   

강의보고오기: https://www.youtube.com/watch?v=Yk_vH_MRLCI&t=3s

 

이번 강의는 어떻게 다뤄야 할까 고민이 많았습니다.

 

MA book에서 처럼 그냥 인공지능의 역사를 다룰까? 아니면 기술사 서브노트에 나온데로 인공신경망의 역사를 할까 고민을 많이 했습니다. 또 한가지 고민은 그냥 빼버릴까 였습니다. 빼버리고 싶었던 이유는 유트브에 인공지능 역사에 대한 너무 좋은 콘텐츠가 많기 때문입니다. 저처럼 어설프게 글씨와 설명이 전부인게 아니라 화려한 비디오에 귀에 박히는 목소리로 설명해주는 좋은 자료가 많습니다. 

 

고민끝에 최초 강의를 시작했던 이유를 생각하며 기술사 서브노트를 바탕으로 설명하기로 했습니다. 제가 강의를 시작한 이유 중 하나는 기술사 공부할때 AI토픽에서 느낀 답답한 마음때문이였습니다. 서브노트를 읽어도 이해가 안가고, 이해가 안가서 관련내용을 찾아보면 "그냥 이래" 또는 모르는 부분을 이해하기 위한 수학적 원리를 파고파고 들어가야 하는 경우가 많았습니다. 그러다가 토픽 한개를 공부하느라 몇번 밤을 지세웠습니다. 

 

저의 전문성을 키우는 것과 많은 예비 기술사 분들이 서브노트를 보시면서 의문이 없었으면 하는 마음이 제가 강의를 시작한 기본 이유이므로 서브노트 내용을 기준으로 설명하기로 했습니다. 그리고 수학적 내용은 각 토픽에서 필요할때 바로 강의하는 방식으로 진행할 겁니다. 최대한 거꾸로 안 찾아가도록 말이죠. 

 

인공신경망의 역사

 

기술사 관점으로 말씀드리면 문제가 "인공지능의 역사"를 물어본 것과 "인공신경망"의 역사를 물어봤을때 다르게 써야 한다는 겁니다. 서브노트에서 처럼 "인공신경망의 역사"를 묻는다면 "딥러닝의 역사"라고 생각하고 답안을 작성하는 것이 좋습니다. 따라서, 강의에서도 Perceptron과 Back Propagation을 중심으로 설명드렸습니다. 그 중에서도 아직까지는 Perceptron에 대해서만 더 집중적으로 설명드렸는데 이유는 아직 우리는 Shallow Learning을 배우는 단계라서 그 편이 더 좋을 것 같다고 생각했습니다. 

 

중요하게 생각하셔야 할 내용은 Perceptron은 Shallow Learning에서 배우지만, 이 Percpetron으로 Connected Layer를 만들어 인공신경망을 형성한다는 것입니다. 그리고 Perceptron이 여러개 연결되면 왜 Deep한 Learning이 될 수 있는지 직관적으로 이해하시는 부분입니다. 지금 이 직관을 가지신다면 나중에 Deep Learning 공부할 때 훨씬 쉽게 이해하실 수 있을겁니다.

 

강의에서 제가 y = Wx + b에서 W를 계속 오메가라고 읽는데, 그냥 w가 맞는 같습니다. Weight의 약자인 w로 생각해 주세요. 소문자이면 벡터이고 대문자이면 행렬을 의미합니다. 제가 배울때 누군가에게 계속 ω(오메가)라고 들어서 저도 아무생각 없이 ω(오메가)라고 읽었습니다. 혼란을 드려 죄송합니다.

 

감사합니다.

 

표준모델로서의 AI 정의

 

환경을 인지하고 올바르게 행동할 수 있는 Agent를 연구하는 과학분야

 

위 정의는 Russell & Norvig MA book 4th Edition의 내용을 번역 및 요약한 정의입니다. 

 

 

강의보고오기 https://youtu.be/Vo3yeWcawPk?si=N-e9LwPFQADnEwiQ

 

안녕하세요? 

 

지난 강에서 AI와 ML의 관계에 대해서 공부했습니다.

 

ML을 학습하게 전에 ML을 이용하지 않고 AI를 어떻게 구현했는가에 대한 학습을 하면 더 좋겠지만, 대부분 사람들이 머신러닝부터 공부하기 때문에 저 역시 머신러닝부터 정리할 예정입니다. 

 

"ML전에 어떻게 Intelligent Agent를 구현했나" 에 대한 내용은 국내 유트브 및 블로그에서 찾기 어려우니, Russel & Norvig의 Artificial Intelligence A Modern Approach 4th Edition 책 (이하 MA book) 을 공부하시고 어려운 점을 영문 유트브에서 검색해서 보완할 수 있습니다.  (MA book에서 검색, 논리, 추론, 지식표현 등에 대한 내용이 있습니다.)

 

ML전 내용을 공부하면, Search 알고리즘, 논리, 추론 등을 학습하며 Python에도 익숙해질 수 있습니다.  꽤 재미있고(?) 의미있다고(?) 생각합니다. 저도 시간이 되면 다시 공부하면서 정리할 계획입니다. 

 

AI의 정의 

아무튼 지금은 MA book에서 다루는 AI 정의에 대해 설명드리겠습니다. (제가 이해한 내용을 설명하므로 원문과 다를 수 있으니 의문이 생기시는 분은 꼭 원문을 찾아보시기 바랍니다.)

 

 AI 정의에 대한 MA book 원문의 내용을 일단 소개해 드리겠습니다. 제 이해가 틀렸을수도 있으니 일단 원문 먼저 인용하는게 좋을 것 같습니다.

 

"We define AI as the study of 
agents that receive percepts from the environment and perform actions"
출처: MA book Perface 중

 

 

AI has focused on the studyand construction of agents that do the right thing. What counts as the right thing is defined by the objective that we provide to the agent. This general paradigm is so pervasive that we 
might call it the standard model
출처: MA book Chapter 1. Page 4

위 내용을 참고하여, 제 나름의 정의로 내려봤습니다. 제가 내린 정의라기 보다는 번역하고 요약했다고 할 수 있겠습니다.  

"환경을 인지하고 올바르게 행동할 수 있는 Agent를 연구하는 과학분야"

 

 

Russel & Norvig은 위 정의에서 올바른(무엇이 올바른 것인가는 애매합니다.)이라는 표현을 좀 더 구체적으로 표현하기 위해 4분면으로 설명합니다. 

 

 

마지막 4사분면이 표준모델로서의 AI의 정의에 해당합니다. 합리적으로 행동하는 Agent를 연구하는 분야라는 것입니다.  2사분면의 인간의 행동을 따라하는 연구를 넘어서서, 인간보다 합리적으로 행동할 수 있는 부분을 연구하는 것입니다. 

 

이미 인공지능은 체스에서 바둑에서 인간챔피언보다 수학적 합리성은 앞서있습니다. 최근에는 개발자, 금융, 의료, 법 등과 같은 분야에서도 인간 평균보다 훨씬 뛰어남을 보이고 있습니다. 어떻게 AI는 인간 최강자를 이길 수 있었을까요? 그렇습니다. 인간을 넘어서는 합리성을 연구했기 때문입니다. 어떻게 합리적으로 행동할 수 있을까에 대한 연구라고 볼 수 있죠.

 

유트브 강의에서 비행기의 예시를 들어 왜 인간을 그대로 모방하는 것은 한계가 있을 수 있는가에 대해 설명했습니다.(MA book에서 설명하는 내용입니다.) 한번 생각해 보시 바랍니다. 

 

표준모델로서의 정의는 불충분하다. 

하지만, Russel & Norvig은 이 표준모델로서의 AI의 정의에 의문을 제기합니다. AI가 단순히 수학적, 통계적 데이터에 기반해서 Agent의 행동을 결정하고 실행한다는 것이 항상 합리적이라고는 할 수 없습니다. 수학적으로만 합리적이면 우리의 Agent는 이기기 위해 무슨 행동이든 실행할 수 있기 때문입니다. 인간사회의 도덕적 기준에 대한 이해가 없는거죠. 이 문제가 진짜 어려운 문제입니다.

 

사실 우리 인간도 어떻게 하는 것이 합리적인가 또는 정의로운가에 대한 문제를 풀 수 없는 경우가 많습니다. 마이클 샌델 교수님의 강의나 책을 보면 합리, 정의 및 공정이 얼마나 어려운 문제인지 알 수 있죠. 

 

Russel & Norvig은 이와같은 문제를 "Value Alignment Problem"이라고 말합니다. 그리고 표준 모델로서의 AI의 정의는 Value Alignment Problem이 있어  충분하지 않다는 것이죠.  

 

그래서 Modern Appoach 관점에서 AI는 단순히 목표만을 달성하는 것이 아니라 목표에 상관없이 우리에게, 즉 인간에게 이익을 주는 Agnet를 개발하는 것이 중요하다라고 말합니다. 

 

틀린 부분이 있다면 피드백 부탁드립니다. 

 

 

참고자료

그리고 표준모델로서의 AI의 정의에 대한 깊은 고찰을 위해 참고하실 수 있는 유트브 링크를 드립니다.

https://www.youtube.com/watch?v=TjZBTDzGeGg&t=2760s

MIT 강의(AI의 뜻/정의)

 

 

 

 

감사합니다.

 

안녕하세요~

 

정보관리기술사 공부를 하면서 처음 AI를 접했습니다. 다른 토픽들과 달리 AI는 이해하기 어려웠고, 결국 50%도 채 이해하지 못한 상태로 기술사 자격을 취득하게 되었습니다. 기술사 시험은 범위가 너무 넓고 토픽이 방대해서 AI 공부에 많은 시간을 투자할 수 없었습니다. 이는 기술사 시험의 큰 문제라고 생각합니다. IT 업무 분야는 점점 전문화되고 직무도 세분화되고 있는데, 기술사라는 전문자격증이 거의 모든 IT 분야의 토픽을 다루고 있는 실정입니다. 당연히 IT 업무를 하는 대부분의 사람들이 기술사 자격증에 맞추어 공부한 사람들의 전문성을 의심하는 것은 당연합니다. 게다가, 기술사 자격이 있는 모든 사람이 실무에서 탁월한 성과를 보여주지 못하는 경우도 많습니다. 

 

그래서 검색엔진에 'IT 관련 기술사 전문성/필요성' 등을 검색해보면 블로그나 커뮤니티에서 갑론을박이 많습니다. 저 역시도 도전적인 질문에 자신이 없습니다. 예를 들어, 누군가 저에게 "당신 IT 전문가야?"라고 물어본다면, 자신 있게 "예"라고 답변하지 못할 겁니다. 물론 어느 집단에 있느냐에 따라 상대적이겠지만, 만약 IT 직무를 하시는 분들과 같이 있는 집단이라면 더더욱 "저는 IT 전문가입니다."라고 대답하지 못할 것 같습니다. 특히, 저에게 AI는 취약한 부분이었습니다. 물론 디지털 서비스 토픽의 거의 모든 신기술에 대해서도 잘 모르지만, AI처럼 요즘 IT 분야 중 가장 핵심적인 트렌드를 잘 모른다는 점이 부끄러웠습니다.

 

좋은 기회로 Computer Science 석사과정을 진행하며  AI에 대해 좀더 자세히 공부했지만, 여전히 누가 전문성에 대해 묻는다면 자신 있게 "예"라고 대답하기는 어렵습니다. 아직 AI 관련 일을 해본 적도 없고, 언제 관련 프로젝트를 진행할 수 있을지도 모르는 상황입니다. 그럼에도 불구하고, 항상 준비되어 있어야 한다는 마음으로 강의를 제작하기로 결심했습니다. 강의를 준비하는 것 은 저의 전문성을 높이는데 많은 도움이 되리라 생각합니다. 언젠가는 누군가의 물음에도 저 자신이 스스로 전문가라고 할 수 있는 날이 오기를 바랍니다. 

 

또한, 저처럼 다른 분야의 IT 업무를 하다가 순수한 공부 의지, 자격증 준비, 또는 업무에 필요해서 새롭게 AI를 공부하시는 분들에게 도움이 되기를 바랍니다. 강의의 초점이 예비기술사님들을 대상으로 하고 있지만 처음 공부하시는 모든 분들이 깊은 원리까지 최대한 쉽게 이해할 수  있도록 설명할 예정입니다.

 

마지막으로 정보관리기술사/컴퓨터시스템응용기술사를 준비하시는 모든 분들에게 도움을 줄 수 있도록 서브노트 제공을 허락해주신 ITPE 강정배 멘토님께 감사인사 드립니다. 

+ Recent posts