ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Book] 온디바이스 AI - AI/ML 개론 학습
    Archive/AI 2023. 6. 21. 09:00

    인공지능과 머신러닝 소개

    인공지능 AI : 어떤게 어떤 건지 규칙을 하나하나 설명할 필요없음

        > WiKi : Artificial Intelligence, 인간의 학습능력, 추론능력, 지각능력을 인공적으로 컴퓨터 시스템으로 구현하려는 컴퓨터 과학 분야

    TensorFlow : AI 프레임워크 중 하나 (Pythorch, CreateML)

    머신러닝 ML : 사람이 직접 파라미터를 찾지 않고 컴퓨터가 스스로 파라미터를 찾아가도록 하는 코드 작성

    전통적인 프로그래밍에서 머신러닝으로 넘어가기

    y = Nx + M 라는 일차 함수를 그래프를 바라볼때

    두 점 (a, b) (c, d) 를 이용해서 k (기울기)를 구하는 공식을 만들 수 있다.

    공식이 곧 알고리즘, 규칙이다. 

    이 규칙을 이용하면 그래프에 어떤 두 점을 넣어도 동일한 N 값을 얻을 수 있다.

     

    전통적인 프로그래밍 : 입력 데이터에 대한 정답을 제공하는 규칙을 구현하는 것

     

    ML -> 컴퓨터가 학습하기

    1단계 정답 추측하기

    2단계 추측한 결과에서도 정확도 측정하기

       손실 loss : 추측값이 정답과 차이나는 정도

    3단계 추측 최적화하기

       최적화 : 파라미터를 조금씩 조정해 가며 에러가 가장 적게 나오도록 만드는 방법

       기계학습 : 추측값을 만들어내고, 그값이 좋은지 나쁜지 계산하고, 그 정보를 바탕으로 다음 추측값을 최적화하는 과정 반복해서 파라미터를 "학습"

     

    Model : 데이터를 하나씩 배우는 코드를 작성할 때, 학습의 결과가 되는 객체

    인공 신경망 Artificial Neural Network: 생물학의 신경망에 영감을 받은 알고리즘으로 각 노드 (뉴런)이 연결됨
    밀집 Dense : 왼편의 뉴런을 오른편의 모든 뉴런에 연결하는 방식

    층 Layer : 행렬로 하나의 행에 구성된 뉴런들 묶음

    피팅 Fitting : 추측값을 만들고, 손실이 좋은지 나쁜지 계산하고, 새로운 추측값으로 최적화하는 일을 반복

     

    하나의 뉴런은 학습의 방법을 의미하고 하나의 신경망이 ML 

    머신러닝은 학률을 다루며 계산하는게 아니라 예측 Predict 한다.

     

    전통적인 프로그래밍과 머신러닝의 주요 차이점 : 프로그래머가 규칙을 알아내지 않음, 데이터와 정답을 주입해 컴퓨터가 스스로 규칙을 찾도록 유도

    전이 학습 Transfer Learning : 누군가가 만든 기존 모델의 일부분을 가져와서 용도에 맞게 바꿔 사용하는 것

    컴퓨터 비전 소개

    Computer Vision : 인간의 Vision 또는 Seeing 과 동등한 의미는 아니지만, 컴퓨터가 이미지의 픽셀을 해석하는 구조화된 알고리즘

       > ex. 신발과 티셔츠를 구분한다면 이미지에서 인지되는 모양 또는 색상의 차이를 구분해서 추론함

    클래스 Class : 출력 뉴런으로 지정해서 구별하고 싶은 기준, 단순히 확률의 출력값을 얻을 뿐

    플래트닝 Flattening : 이미지는 2차원 픽셀 배열이므로 이미지를 입력 레이어의 뉴런이 표현하는 1차원 배열 형식으로 바꾸는 작업

       > 다른 이미지라도 같은 셰입 Shape으로 이미지를 해석가능해짐

     

    분류 Classification에서의 정확도와 손실값은 옵티마이저가 뉴런값을 조금씩 조정하는데 사용되고, 이 과정을 반복.

    시간이 지나면 뉴런의 가중치와 편향값이 학습 데이터에 맞게 조정됨.

     

    정규화 Nomalization :이미지의 픽셀값이 0에서 255로 이루어져 있으므로 255로 나누어 0에서 1의 사잇값으로 만드는 작업

       > 오류값이 너무 커져버려서 학습이 되지 않는 문제를 예방할때 도움됨

     

    과적합 Overfitting 현상 : 모델이 학습 데이터셋은 잘 판단해내지만, 처음 보는 데이터는 잘 판단하지 못하는 현상

    합성곱 신경망 Convolutional Neural Network : 실무에서 사용할만한 복잡한 이미지를 이해할 수준의 신경망

     


    개인적으로 AI 에 대한 간단한 소개 영상이나 자료로 이해하려고 노력했다.

    또한 딥러닝 기초개념을 잡는데 도움이 된 강의도 있다 Youtube 코딩애플 - 텐서플로 딥러닝 기초

    매번 고민하는 영역인데 AI 개발자처럼 완전 이해하고 개발하는 수준이 되는 건 욕심이고 전문성이 떨어진다고 생각한다.

    함께 협업 할 수준을 공부하고 나는 iOS 개발자로써 역량을 갖추는게 먼저라고 생각한다.

    그런 면에서 이 교재는 앱 개발자를 위한 수준에 소개를 해준다.

    직접 다루는 영역도 하나씩 연습해 볼 생각이다.

     

    학습을 목표로 정리한 내용이며 교재에 내용을 일부 인용했습니다.
    Referece by : O'REILLY 온디바이스 AI 
     

    온디바이스 AI | 로런스 모로니 - 교보문고

    온디바이스 AI | ML Kit, Core ML, TFLite 등을 이용해 단계별로 직접 해 보며 익히는 모바일 머신러닝 가이드!모바일 기기가 주요 컴퓨팅 기기가 된 오늘날, 모바일 개발자들에게 머신러닝은 선택이 아

    product.kyobobook.co.kr

     

    'Archive > AI' 카테고리의 다른 글

    [Example] iOS AI 예제 #1 - Image Classifier (MLModel)  (0) 2023.07.12
    [Example] iOS AI 예제 #0  (0) 2023.07.12
Designed by Tistory.