2024/12/17 5

DL 프로젝트 이론 탐구: 중반 학습 기록

딥러닝 학습을 시작했습니다.AI 부트캠프에서 가장 중요한 주제 중 하나는 딥러닝이라고 생각합니다. 지금까지 배워왔던 파이썬, 통계, 머신러닝 기술을 결합해 딥러닝을 공부하고 이를 활용하는 것이 앞으로의 과제입니다. 아직 딥러닝에 대해 배울 것이 많지만, 이제 막 시작한 만큼 중간 학습 기록을 남기려고 합니다.딥러닝 학습은 개념과 발전 과정을 이해하는 것부터 시작했습니다.  이번이 딥러닝을 본격적으로 공부하는 첫 경험이기에 부족한 점이 있을 수 있지만, 꾸준히 성장해 나가고 싶습니다. 딥러닝의 기본 개념부터 실습까지 딥러닝의 역사부터 배우는 개념 이전까지는 머신러닝만 공부했기에 어느 정도 알고 있었지만, 머신러닝의 한 부분이라고 할 수 있는 딥러닝은 아직 깊게 접해보지 못했습니다. 정확한 개념도 몰랐고, ..

PyTorch Hydra

Hydra - 파라미터가 복잡해지면서 코드를 구조화하거나 관리하기 어려운 문제를 해결하기 위해, 별도의 설정 파일을 작성하여 관리하는데 사용하는 오픈소스 프레임워크 - 설정 파일을 통해 비슷한 여러 태스크를 관리 및 실행할 수 있도록 도와주는 프레임워크배경- 관리의 어려움: 파라미터가 여러 파일이나 클래스, 함수에 분산돼 있으면, 각각의 위치에서 파라미터를 변경해야 하므로 파라미터 관리가 어려워- 코드 일관성의 어려움: 같은 파라미터가 여러 위치에서 사용된다면, 일관성을 유지하기 위해 모든 위치를 동시에 업데이트Yet Another Markup Language(yaml) - Hydra에서 파라미터 관리를 위해 yaml이라는 데이터 포맷을 사용 - 포맷의 특징    - key-value 구성으로 작성된 파..

Study/머신러닝 2024.12.17

PyTorch Lightning

PyTorch Lightning 배경 - 구현하는 코드의 양이 늘어나며 코드의 복잡성이 증가하고 이에 따라 다양한 요소들이 복잡하게 얽히게 됨- 이런 요소들은 서로 강하게 관계성을 가지게 되어, 한 부분을 변경하면 다른 부분에도 영향PyTorch에 대한 high-level 인터페이스를 제공하는 오픈소스 라이브러리- High-level 인터페이스 : 복잡한 시스템이나 프로그램을 사용자에게 더 단순하고 이해하기 쉽게 만들어주는 인터페이스를 의미 - 딥러닝 모델 구축의 코드 템플릿으로써 기능을 하여 코드를 작성할 때 좀 더 정돈되고 간결화된 코드를 작성- 코드 템플릿 : 특정 프로그래밍 작업을 간소화하거나 반복적인 코드 작성을 줄이기 위해 미리 정의된 코드 블록이나 구조를 의미코드의 추상화 및 하드웨어 호출 ..

Study/머신러닝 2024.12.17

PyTorch 전이학습

Pretrained Model대규모 데이터셋을 기반으로 학습된 모델로, 학습한 task에 대한 일반적인 지식을 갖고 있음GPT, PALM, Stable-Diffusion전이학습사전 학습된 모델 (pretrained model)의 지식을 다른 task에 활용하는 것모델이 이미 학습한 일반적인 지식을 기반으로 더 빠르고 효과적이게 새로운 지식을 학습 가능전이 학습 종류Fine-Tuning - 전이 학습의 한 방법- Pretrained model을 그대로 혹은 layers를 추가한 후 새로운 작업에 맞는 데이터로 모델을 추가로 더 훈련시키는 방법Domain Adaptation - 전이 학습의 한 방법 - A 라는 도메인에서 학습한 모델을 B라는 도메인으로 전이하여 도메인 간의 차이를 극복하는 것이 목적Mult..

Study/머신러닝 2024.12.17

딥러닝과 PyTorch

PyTorch 작동 구조 학습 단계Data -> Model  -> Output -> Loss -> OptimizationPyTorch 사용Data : torch.utils.data.Dataset / torch.utils.data.DataLoader Model : torch.nn.Module Loss Function : torch.nn / torch.nn.functional Optimization : torch.optim각 클래스 간 관계  DataDataset과 DataLoader를 사용하여 데이터 로드 - `Dataset`과 `DataLoader`를 사용하면, 데이터 집합에서 미니 배치(전체 데이터 집합을 더 작은 부분집합으로 분할한 일부 데이터)크기의 데이터를 반환- PyTorch에는 이미지 데이터를..

Study/머신러닝 2024.12.17