AI (21) 썸네일형 리스트형 [실전! 컴퓨터 비전을 위한 머신러닝] 03. 이미지 비전 (2) 모듈식 아키텍처 더 복잡한 빌딩 블록 - 모듈 고안 인셉션 인셉션V3 - 3x3 및 1x1 컨볼루션 필터만을 사용 데이터와 훈련을 기반으로 네트워크가 선택할 수 있는 몇 가지 대안을 제공 여러 경로의 출력이 최종 특징 맵으로 이어 붙여짐 아키텍처 - 다중 경로 컨볼루션 모듈들의 시퀀스 스퀴즈넷 채널 수가 1x1 컨볼루션만큼 감소하는 수축 단계와 채널 수가 다시 증가하는 팽창 단계가 교대로 있음 마지막 레이어는 전역 평균 풀링 - 가중치 수 줄임 각 모듈의 컨볼루션 레이어 3개 중 2개는 1x1 컨볼루션 - 학습 가중치 수 줄임 (?) '발화 모듈' def fire(x, squeeze, expand): y = tf.keras.layers.Conv2D(filters=squeeze, kernel_size=1,.. [실전! 컴퓨터 비전을 위한 머신러닝] 03. 이미지 비전 픽셀을 독립적인 입력으로 취급 ▶ 근처에 있는 픽셀끼리 상관성이 높다는 점을 이용하지 못함, 이미지에 대한 성능 좋지 않음 미리 훈련된 임베딩 임베딩 - 이미지를 저차원 공간에 수학적으로 표현한 것 ▷임베딩을 형성하는 16개의 숫자는 전체 이미지의 모든 정보를 표현함 미리 훈련된 모델 매우 큰 범용 데이터 셋으로 사전훈련 ▷분류할 실제 데이터셋에 관한 지식을 전이함 ▶ 모델의 용도를 변경함 예측헤드(Prediction head)라는 마지막 레이어만 교체 가능 (?) 사전 훈련 모델 - 대규모 데이터셋에서 훈련된 모델이며 임베딩을 만드는 데 사용할 수 있음 ex. 모바일 넷의 임베딩을 이용해 효율적인 훈련 가능 이미지넷 (ImageNet) 데이터 import tensorflow_hub as hub laye.. [실전! 컴퓨터비전을 위한 머신러닝] 2. 컴퓨터비전에 쓰이는 ML 모델 기계 인식을 위한 데이터셋 5-flowers 데이터셋 사용 데이지, 민들레, 장미, 해바라기 ,튤립 각각 꽃 이름으로 라벨링 이미지 데이터 읽기 def read_and_decode(filename, reshape_dims): # 파일 읽기 img = tf.io.read_file(filename) # 압축된 문자열을 3D uint8 텐서로 변환 img = tf.image.decode_jpeg(img, channels=IMG_CHANNELS) # [0,1] 범위의 float로 변환 img = tf.image.convert_image_dtype(img, tf.float32) # 원하는 크기로 조정 return tf.image.resize(img, reshape_dims) 컬러이미지는 일반적으로 channels.. Yolov5, Yolov8 공부 # Yolov10 Custome Data 실습 https://minyeong3.tistory.com/101 Yolov8 학습 과정Data Preparation (이미지 데이터, 좌표 있는 정답 데이터 필요)→ Loading Date → Make YAML file → Install Yolov8 → Train model → Predictionvalid 파일에는 train 데이터의 일부를 랜덤하게 split 해서 학습시킴 Yaml 파일Yolov8 학습과 검증에 필요한 train, valid 데이터의 디렉토리 경로, Detection 하고싶은 클래스 개수, 해당 클래스의 (문자열) 이름 저장train : 학습 데이터 폴더 경로 (이미지)val : 검증 데이터 폴더 경로 (이미지)nc : 학습할 클래스 갯수na.. Faster R-CNN Fast R-CNN end-to-end = CNN 특징 추출 + classification + bounding box regression Rol pooling 단일 이미지에서 여러 대의 자동차와 보행자를 감지. 그 목적은 고정 된 크기의 기능 맵 (예: 7x7)을 얻기 위해 균일하지 않은 크기의 입력에 대해 max풀링을 수행하는 것 Faster R-CNN Region Proposal Network (RPN) Selective Search에 비해 적은 수의 Rol를 계산하면서도 높은 정확도를 보임 Feature Map 추출 - RPN 전달 - Rol 계산 Fine Tuning 기존에 학습되어져 있는 모델을 기반으로 아키텍쳐를 새로운 목적(나의 이미지 데이터에 맞게)변형하고 이미 학습된 모델 Weights로.. [밑바닥부터 시작하는 딥러닝] 8장 딥러닝 8.1 더 깊게 심층 신경망을 만들어 MNIST 데이터셋의 손글씨 숫자 인식에 도전 층이 깊어지면서 채널 수가 더 늘어남 3x3의 작은 필터를 사용한 합성곱 계층 활성화 함수는 ReLU 완전연결 계층 뒤에 드롭아웃 계층 사용 Adam 사용해 최적화 가중치 초깃값은 'He 초깃값' 잘못 인식한 이미지 → 인간도 식별 어려움 데이터셋에 대한 정확도 순위 → 대부분 CNN을 기초한 기법들이 점령 데이터확장 - 입력 이미지(훈련 이미지)를 알고리즘을 동원해 '인위적'으로 확장함 이미지를 회전하거나, 세로로 이동해 미세한 변화를 주어 이미지 개수 늘림 이미지를 일부를 자르는 'crop', 좌우를 뒤집은 'flip' 왜? 층을 깊게 하는 것이 중요한가 1. 신경망의 매개변수가 줄어듦 5x5의 합성곱 연산 1회는 3.. [밑바닥부터 시작하는 딥러닝] 7장 합성곱 신경망(CNN) 합성곱 신경망 CNN 7.1 전체 구조 합성곱 계층, 풀링 계층 완전연결 - 인접하는 계층의 모든 뉴런과 결합 → Affine 계층 + 합성곱 계층, 풀링 계층이 추가됨 출력에 가까운 층에서는 지금까지의 Affine-Relu 구성 사용 가능 마지막 출령 계층에서는 'Affine-Softmax' 조합 그대로 사용함 7.2 합성곱 계층 3차원 데이터같은 입체적인 데이터가 흐름 데이터의 형상이 무시됨, 모든 입력 데이터를 동등한 뉴런으로 취급함 (형상에 담긴 정보를 살릴 수 없음) 3차원 데이터 → 1차원 데이터로 평탄화해서 입력 + 합성곱 계층은 형상을 유지함 특징맵 - CNN에서 합성곱 계층의 입출력 데이터 입력데이터 - 입력 특징 맵 / 출력 데이터 - 출력 특징 맵 필터 연산 필터의 윈도우를 일정 간격.. [밑바닥부터 시작하는 딥러닝] 6장 학습 관련 기술들 가중치 매개변수의 최적값을 탐색하는 최적화 방법, 가중치 매개변수 초깃값, 하이퍼파라미터 설정 방법 6.1 매개변수 갱신 최적화 - 매개변수의 최적값을 찾는 문제를 푸는 것 기울어진 방향으로 매개변수의 값을 반복해서 갱신해 최적의 값에 다가감 class SGD: def __init__(self, lr=0.01): self.lr=lr def update(self, params, grads): for key in params.keys(): params[key]-= self.lr*grads[key] optimizer=SGD() optimizer.update(params, grads) Optimizer에 매개변수와 기울기 정보를 넘겨줌 비등방성 함수에서 탐색 경로가 비효율적 (지그재그로 이동) → 단점 개선) .. 이전 1 2 3 다음