미래IT산업


지난 8월 27일 토크아이티에서 온라인 세미나를 한 내용을 링크 걸어 봅니다.

일반적으로 딥러닝이라고 하면 수학과 코딩이 있어야만 어느정도 이해를 할 수 있을것 같은데요.

특히나 요즘에는 딥러닝을 공부하기 위해 파이썬의 텐서플로 같은 모듈을 이해 해야 딥러닝을 공부하기가 좀 수월한데요...


수학이나 코딩이 필요 없이 딥러닝에 대한 온라인 세미나라고 해서 들어 봤습니다.

온라인 세미나에서 주려고 하는 메시지는 다음과 같습니다.

- 딥러닝의 기초원리

- 왜 딥러닝이 요즘 대세인가?

- 딥러닝은 만능인가?

- 딥러닝 활용을 위한 준비는?


머신러닝을 정의 해 보면 머신러닝이란 알려 주지 않아도 스스로 학습능력을 키우는것입니다.


머신러닝을 정원에 비유하면

정원에 뿌리는 좋은 씨앗 = 알고리즘 , 씨앗에 주는 영양분 = 데이터, 정원사 = You, 농작물 = 프로그램 에 비유 합니다.

좋은 알고리즘에 좋은 양질의 데이터가 학습을 시킬 수가 있는데요. 이러한 학습을 시키는 사람이 필요 합니다.

이렇게 학습을 시킨 머신러닝이 프로그램으로 탄생이 되는 것입니다.


이미지를 인식하는 인공지능을 살펴 보면 다음과 같은 과정을 거치게 되는데요.

인공지능 학습과정


다양한 학습 데이터를 입력 데이터를 입력하여 그중에서 이미지를 분석하여 학습데이터에 의한 라벨을 입력 받아 학습을 합니다.

이때 학습데이터에 의한 라벨은 학습을 시키는 사람이 이것은 사과 이것은 송아지 와 같은 라벨을 분류하게 됩니다. 

이렇게 분류된 데이터에 의해 딥러닝 알고리즘에 의해 학습을 하게 됩니다.


이렇게 학습하게 된 데이터는 학습데이터 외의 이미지가 들어 오면 이것이 사과인지 토마토인지를 분류 할 수가 있게 됩니다.


딥러닝의 기본은 선형회귀 방식에 의해 구현이 되는데요.

이러한 선형 회귀 방법은 아래 그림과 같이 데이터 집합에 대한 선에 적합합니다.

선형 추세 반영 데이터

이미지 출처 : https://docs.microsoft.com/ko-kr/azure/machine-learning/studio/algorithm-choice

이러한 선형 회귀 방법은 간단하며 빠르지만 일부 문제에 대해서는 지나치게 단순화 될수 있는데요.

곡선의 그래프와 같은 경우에는 너무 예측이 빗나갈 수 있는 부분이 발생합니다.


따라서 여기에서는 Backpropagion 알고리즘에 대해서 설명을 하고 있는데요.

우리가 산에 올라가서 길을 잃으면 어떻게 하나요? 

우리는 산에서 낮은 곳을 찾아서 내려 올것입니다.

이러한 원리를 이용하는 것이 Backpropagion 알고리즘이라고 합니다.


데이터에 대한 입력이 있고 입력에 대한 기대 출력이 있다면 학습이 되지 않은 상태에서는 출력이 거의 쓰레기 수준의 데이터가 나올 것입니다.

딥러닝에서 사용하는 Backpropagation은 처음에는 오차가 크지만 오차가 줄어 드는 방식으로 하나씩 풀어 나가는 방식으로 다시 되돌리는 알고리즘을 사용하게 됩니다.

간단히 설명하면 앞쪽에서 부터 각층의 output을 계산해 나가다가 맨 마지막에 도달하면 Target 패턴과 비교하여 Error를 구하고 이를 다시 되돌리면서 각 노드별로 에러를 input 만큼 곱해서 차곡차곡 역순으로 에러를 학습합니다.

이러한 작업을 수십,수백번 반복하다 보면 오차가 작아지는데 이러한 학습 방법에 의한 것이 Backpropagion 알고리즘입니다.


수학과 코딩없이 딥러닝의 핵심 개념을 이해 할 수 있다고 해서 너무 반가움에 찾아 봤는데.

역시 정확한 이해를 하기 위해서는 딥러닝에 대한 공부를 좀 더 해야겠다는 생각을 하게 되네요.


제가 요즘 공부하면서 느끼는 것은 정말 단단하고 뚫지 못할 벽인것 같아도...

한번,두번... 여러번 도전하다 보면 그 벽에 구멍이 생기고 그 벽을 뚫고 지나가면 종잇장과 같이 얇은 벽이었음을 깨닫고는 하는데요...

처음에 바라 보는 벽이 너무 높고 견고해 보여도 이쪽에서 한번 시도해 보고 저쪽에서 한번 바라보면서 다양한 시각으로 접근을 해 보는 것이 유용한 것을 알겠더라구요.

특히나 지식의 벽은 바라보는 시각의 차이때문에 벽이 생길수도 있고 벽이 없을 수도 있는 것이기 때문에 어떤 지식을 쌓을때 다양한 방면에서 접근하는 것이 많은 도움이 될것 같아요.


우리 학생들도 어떤 어려움에 부딪혔을때 그냥 포기하지 말고...

이런 방향으로도 접근해 보고 저런 방향으로도 접근해 보는 것을 추천 드립니다.

한가지를 깊이 알기 위해서 같은 책을 여러번 보는 것도 좋지만 같은 지식을 다루는 여러개의 책을 보시는 것도 추천드려 봅니다.

각각의 책을 쓰시는 분들이 자신이 생각하는 방향이 조금씩 다르다 보니 그러한 시각으로 바라 볼때 자신이 생각하지 않았던 부분이 스르르 해결 되는 것도 느낄수가 있거든요.


항상 끊임 없이 공부하고 발전해서 미래를 이끌어 나갈 수 있는 인재가 되시길 바랍니다.^^









이 장소를 Daum지도에서 확인해보세요.
인천 서구 당하동 1028-2 장원프라자 502호
도움말 Daum 지도
8 0
  • 휴식같은 친구 2018.09.07 11:45 신고    

    새로운 분야라 설명으로는 어렵네요.ㅎㅎ
    잘 보고 갑니다.
    즐거운 하루 보내세요~^^

  • 행복사냥이 2018.09.07 14:25 신고    

    코딩이 중요한 것 같은데 아직 저에게는 멀어보이네요.^^ 인문학을 전공해서 그런가....^^

  • 청결원 2018.09.07 16:50 신고    

    가을 같은 날씨 이네요~
    좋은날 포스팅 넘 잘 보고 갑니다~

  • 유하v 2018.09.07 18:52 신고    

    어려운 내용을 잘 풀어 설명해주셨네요^^

  • 보여주는남자 2018.09.07 19:49 신고    

    덴서플로어는 조금 해보았는데요
    쉽진 않더라고요 ㅠ
    그리고..리니어알고리즘정도는 따라가도 그 이상은 버거웠어요
    하지만 말씀하신대로
    그것들을 공부하다가
    openCV openAI 등을만나며
    정말 시아가 팍 트이게 되었어요
    그러며 ... 정말 기초에 중요성을 뼈저리게
    느끼게 되었지요

  • 핑구야 날자 2018.09.08 06:43 신고    

    역시 코딩도 쉽지 않은 분야지만 흥미로운 관심을 가지고 있으면 해 볼 만 하지요

  • 공수래공수거 2018.09.08 07:38 신고    

    딥러닝의 개념을 알기 쉽게 설명해주신듯 합니다
    이런 강의는 학생들에게 도움이 되겠습니다

  • 버블프라이스 2018.09.10 03:58 신고    

    딥러닝의 개념에 대해 쉽게 설명해주셔서 잘 알고 갑니다^^