강의자료/머신러닝 50

처음 만나는 자연어 처리

요즘 핫하게 뜨고 있는 Chat GPT의 원리를 알아 보기 위해 자연어 처리 부분을 살펴 보겠습니다. 1. 기계의 자연어 처리 컴퓨터는 계산기로 사람 말을 알아 듣는 인공지능이라고 해도 결국은 계산의 처리 결과이다. 그렇다면 기계가 사람 말을 알아 듣는 것 처럼 보이게 하려면 어떤 요소가 필요할까? 입력 -> 처리(모델) -> 출력 어떤 데이터를 입력 받아서 처리 해서 출력하는 기본 요소이다. 이때 인공지능에서는 이러한 처리를 하는 절차를 훈련된 모델을 이용해서 처리하게 된다. 2. 트랜스퍼 러닝(전이학습) 트랜스퍼러닝(transfer learning)란 특정 태스크를 학습한 모델을 다른 태스크 수행에 재사용하는 기법을 가르킨다. 즉 전이학습이라고도 한다. BERT나 GPT등도 트랜스퍼러닝이 적용되어 있..

강의자료/머신러닝 2023.05.25 (13)

[머신러닝활용] 컴퓨터 비전을 위한 전이학습

1. 전이학습이란? 전이학습이란 ImageNet 과 같은 대량의 데이터셋으로 이미 학습이 되어 있는 모델(사전에 학습된 모델)을 이용하여 소량의 데이터셋을 훈련시켜서 정확도를 향상시키는 학습 방법을 의미한다. 2. 컴퓨터 비전을 위한 전이학습 MobileNet을 이용한 전이 학습 방법을 살펴 본다. 먼저 MobileNet 의 아키텍처는 다음과 같다. 표를 확인하면 대부분의 bottleneck 라는 종류의 레이어임을 알 수 있다. 224 * 224 * 3 크기의 컬러이미지를 받아서 1280개까지 쪼개 내려가는데 마지막에 출력된 값을 특징벡터(feature vector)이라고 부른다. 이 벡터로 1000개 클래스를 분류해 레이어로 전달하는 MobileNet 모델을 설계 할 수 있다. 모델을 설계하고 학습시키..

강의자료/머신러닝 2023.04.12 (7)

[머신러닝활용] 컴퓨터 비전

1. 컴퓨터 비전이란? 컴퓨터가 이미지 픽셀을 해석하는 구조화된 알고리즘을 컴퓨터 비전이라 한다. 2. 비전을 위한 뉴런 사용하기 가장 기본적인 형태의 y=2x-1 과 같은 형태를 학습하는 딥러닝이라면 다음과 같은 구조를 가지고 있다. 한개의 층과 한개의 뉴런으로 구성된 간단한 신경망을 사용해서 훈련을 통해 m,c 를 2와 1 값을 찾아낼 수 있다. 가장 기본적인 위와 같은 형태의 신경망은 Sequential 을 사용한다. Sequential은 기본적으로 Dense를 가지고 있다. 위와 같은 모델은 다음과 같이 만들 수 있다. model = Sequential([Dense(units=1,input_shape=[1])]) Dense는 뉴런이 완전히 연결되어 있다는 것을 의미한다. units=1 은 1개의 ..

강의자료/머신러닝 2023.03.20 (9)

[머신러닝활용] CCTV속 범인얼굴 특정하기

참고 소스 : https://github.com/kairess/simple_face_recognition GitHub - kairess/simple_face_recognition Contribute to kairess/simple_face_recognition development by creating an account on GitHub. github.com 모델 다운로드 shape_predictor_68_face_landmarks.dat - http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 dlib_face_recognition_resnet_model_v1.dat - github.com/kairess/simple_face_recognit..

강의자료/머신러닝 2023.03.07 (15)

[머신러닝활용]dlib 모듈을 이용한 얼굴 인식 및 활용하기

dli 라이브러리는 C++로 작성된 툴킷으로 HOG(histogram of Oriented Gradients) 특성을 사용하여 얼굴 검출하는 기능에 많이 사용되고 있다. dlib.get_frontal_face_detector( ) 를 사용하여 기본 얼굴 검출기로 사용할 수 있다. 1. 라이브러리 임포트 import cv2,dlib,sys import numpy as np cv2,dlib,numpy 모듈을 활용한다. 2. 웹캠에서 이미지 파일 읽기 cap = cv2.VideoCapture(0) #0 웹캠, 동영상 파일을 적용 할 수도 있다. while True: ret,img = cap.read() #프레임 단위로 읽는다. if not ret: break #프레임이 없다면 종료하자. VideoCapture..

강의자료/머신러닝 2023.02.13 (17)

[머신러닝활용]성별과 나이를 맞추는 인공지능

tal Hassner 님이 만든 나이와 성별을 맞추는 모델을 사용하는 방법을 살펴 보겠습니다. 공식 홈페이지는 https://talhassner.github.io/home/ 입니다. 원본 소스는 https://github.com/GilLevi/AgeGenderDeepLearning/blob/master/AgeGenderDemo.ipynb 입니다. 참고한 소스는 [빵형의 개발도상국]님의 깃허브 https://github.com/kairess/age_gender_estimation/blob/master/main.py 입니다. 1. 실습환경 코랩 - https://colab.research.google.com/?hl=ko Google Colaboratory colab.research.google.com 모델 ..

강의자료/머신러닝 2023.01.31 (8)

[머신러닝활용] dlib 라이브러리를 이용한 얼굴 인식

1. 실습환경 Tool : Pycharm 웹캠 OpenCV,dlib 설치 얼굴 특징점 추출 모듈 : https://osdn.net/projects/sfnet_dclib/downloads/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2/ Downloading File /dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2 - dlib C++ Library - OSDN Free download page for Project dlib C++ Library's shape_predictor_68_face_landmarks.dat.bz2.Dlib is a C++ toolkit containing machine learning..

강의자료/머신러닝 2023.01.17 (7)

[머신러닝활용] OpenCV 사용법 알아보기

머신러닝 모델을 만들었다면 그것을 어떤식으로 활용을 하는지 무척 궁금했었는데요. 머신러닝 활용 편에서는 기존에 만들어진 모델들을 활용해서 어떻게 사용되는지 살펴 보도록 하겠습니다. 이미지 처리 분야에서 가장 많이 사용되는 OpenCV에 대해서 살펴 보도록 하겠습니다. 1. OpenCV란 OpenCV(Open source Computer Vision) 는 실시간 컴퓨터 비젼을 처리하는 목적으로 만들어진 라이브러리이다. 설치 방법 pip install opencv-python 2.이미지 파일 읽기 cv2.imread 함수로 이미지 파일을 읽는다. 이미지 파일은 Numpy array 형태의 값으로 입력이 되고 이 숫자가 해당 위치에서의 색을 의미한다. 사용법 cv2.imread(fileName, flag) f..

강의자료/머신러닝 2023.01.10 (11)

[캐글(Kaggle) 따라하기]06-2.랜덤 포레스트(RandomForest)

https://wondangcom.tistory.com/2354 타이타닉 문제를 해결 하면서 에서 랜덤 포레스트로 훈련을 해 보았는데요~ 오늘은 랜덤 포레스트가 무엇인지 확인을 해 보겠습니다. 1. 랜덤포레스트(Random Forest)란? 랜덤포레스트는 훈련을 통해 구성해 놓은 다수의 나무들로 부터 분류 결과를 취합에서 결론을 얻는 일종의 인기투표와 같은 것이라고 생각하면 좋을 것 같습니다. 랜덤 포레스트는앙상블 학습의 대표 주자 중 하나로 안정적인 성능 덕분에 널리 사용되고 있습니다. 랜덤 포레스트는 결정트리를 랜덤하게 만들어 결정트리의 숲을 만듭니다. 그리고 각 결정트리의 예측을 사용해 최종예측을 만듭니다. 먼저 랜덤포레스트는 각 트리를 훈련하기 우한 데이터를 랜덤하게 만드는데 이 데이터를 만드는 ..

강의자료/머신러닝 2022.12.29 (12)

[캐글(Kaggle) 따라하기]06-1.의사결정 트리

https://wondangcom.tistory.com/2354 타이타닉 문제를 해결 하면서 에서 의사결정 트리로 훈련을 해 보았는데요~ 오늘은 의사결정트리가 무엇인지 확인을 해 보겠습니다. 1. 의사결정트리(Decision Tree)란? 의사결정트리는 일련의 분류 규칙을 통해 데이터를 분류,회귀하는 지도학습 모델 중 하나이다. 결과 모델이 Tree 구조를 가지고 있기 때문에 Decision Tree라는 이름을 가진다. 모델의 형태는 다음과 같다. 이러한 결정트리 모델은 마치 스무고개 문제와 같습니다. 즉 남자인가? 라는 질문에 아니오 라면 생존, 예라면 나이가 10살보다 작은가? 라는 질문에서 예라면 생존, 아니라면 사망 과 같이 한 단계 한단계 질문에 따라 데이터를 구분하는 모델을 의사결정트리 모델이..

강의자료/머신러닝 2022.12.21 (6)