본문 바로가기

전이학습4

전이학습(Transfer Learning) [수화 이미지 분류] (4) 1. Dataset & Data Loader(1) Custom Datasetimport torchvisionfrom PIL import Imageclass Custom_dataset(torch.utils.data.Dataset): def __init__(self, paths, split=None, transform=None): self.paths = paths self.split = split self.transform = transform self.image = [] self.label = [] if self.split.upper() == 'TRAIN' or self.split.upper() =.. 2024. 6. 9.
전이학습(Transfer Learning) [개, 고양이 분류] (3) 1. Label Maplabel_map = { 'cat' : 0, 'dog' : 1} 2. Dataset & Data Loader(1) Custom Datasetclass CustomDataset(torch.utils.data.Dataset): def __init__(self, root_path, split, transform, label_map): self.split = split.upper() self.root_path = root_path self.transform = transform self.label_map = label_map self.image = [] self.label = [] .. 2024. 6. 9.
전이학습(Transfer Learning) (2) 5. 적합한 전이학습 수준 선택하기전이학습의 적합한 수준을 결정하는 중요한 요소목표 데이터셋의 크기 (많음 또는 적음) : 목표 데이터셋의 크기가 작다면 많은 층을 학습시키기 어렵고 새로운 데이터에 대해 과적합을 일으키기 쉬움. 이런 경우에는 미세 조정 범위를 줄이고 원 데이터셋의 의존도를 높여야 함원 도메인과 목표 도메인의 유사성 : 해결하려는 문제가 자동차와 배를 분류하는 것이라면 비슷한 특징을 다수 포함하는 이미지넷 데이터셋으로도 충분함. 반면 새로운 문제가 엑스레이 사진에서 폐암 병변을 찾아내는 것이라면 도메인이 전혀 달라지므로 미세 조정 범위가 넓어져야 함 전이학습의 적합한 수준을 결정하는 네 가지 시나리오목표 데이터셋의 크기가 작고, 원 도메인과 목표 도메인이 유사목표 데이터셋의 크기가 크고,.. 2024. 6. 9.
전이학습(Transfer Learning) (1) 1. 전이학습으로 해결할 수 있는 문제- 전이학습이란 신경망이 어떤 과제에서 얻은 기존 지식(어떤 데이터셋을 학습하며 익힌 것)을 비슷한 다른 문제를 해결하는데 활용하는 것- 어떤 과제에서 익힌 기존 지식이란 학습과정을 통해 얻어진 추출된 특징(특징 맵 (Feature Map))을 말함- 딥러닝 분야에서 전이학습이 활발히 이용되는 이유는 더 짧은 시간에 적은 양의 데이터로 신경망을 학습할 수 있음- 전이학습의 가장 큰 장점은 이미지넷 등 일반적인 컴퓨터비전벤치마크용 데이터셋으로 학습한 모델의 가중치를 간단히 재사용하는 것만으로 다른 문제를 위한 대규모 데이터 수집(레이블링된 데이터)에 드는 수고를 절감할 수 있다는 것- 전이학습의 또 다른 장점은 일반화 성능을 확보하고 과적합을 방지하는 것 2. 전이학습.. 2024. 6. 9.