본문 바로가기

분류 전체보기68

1장 - 생성 모델링 생성형 AI를 구현하기 위한 기본서로 '만들면서 배우는 생성 AI'라는 책을 공부하고 리뷰하도록 한다. 1. 생성 모델링이란? 생성 모델링이란 거시적으로 다음과 같이 정의할 수 있다고 한다. "주어진 데이터 셋과 유사한 데이터를 정의하도록 모델을 훈련하는 머신러닝의 한 분야." 이게 무슨 의미인지 이해해보자. 말의 이미지가 들어있는 데이터 셋(주어진 데이터 셋)에서 모델을 훈련하면, 말 이미지와 유사한 말(과 같은) 이미지를 샘플링하여 원래의 말 이미지와는 다른 이미지를 만들어 낸다는 것이다. 가령 이미지 생성 task는 픽셀 값으로 모델이 훈련하기 때문에 훈련 데이터에서 픽셀 값의 분포 및 조합을 학습할 것이다. 이렇게 학습된 모델의 결과를 샘플링하여 새로운 데이터를 만들어내는 것이다. 그렇다면 모델이.. 2024. 3. 11.
Regularization(모델의 규제, 정칙화)에 대한 이해 이번 포스팅에서는 모델의 overfitting을 해결하기 위해 사용할 수 있는 기법 중 하나인, Regularizaion에 대해 알아보자. regularization은 앞서 언급한 대로, 딥러닝 모델의 overfitting 양상을 억제하는 기법 중 하나이다. 그렇다면 model이 overfitting 하다는 것은 무엇을 의미할까? (이에 대한 자세한 내용은 추후에 따로 포스팅할 예정이니 간단한 예를 들어 설명을 하겠다.) 오버피팅은 한국어로 과적합이라고 하며, train set은 매우 잘 맞히지만, validation/test set은 맞히지 못하는 현상을 말한다. 비유하자면 overfitting은 기출문제는 외워서 잘 맞히지만 새로운 응용문제로 시험을 볼 때는 잘 풀지 못하는 경우라고 할 수 있다. 더.. 2023. 12. 23.
[Paper Review] Image style transfer using CNN 이번 포스팅에서는 CVPR 2016에 나온 style transfer 논문을 리뷰할 예정이다. 해당 논문은 우리가 원하는 이미지를 원하는 그림 스타일(화풍)에 적용하는 방법을 제시한다. paper: https://openaccess.thecvf.com/content_cvpr_2016/html/Gatys_Image_Style_Transfer_CVPR_2016_paper.html CVPR 2016 Open Access Repository Leon A. Gatys, Alexander S. Ecker, Matthias Bethge; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 2414-.. 2023. 12. 23.
활성화 함수에 대한 이해 딥러닝 공부를 시작하면 여러가지 개념이 뒤죽박죽 되어 정리되지 않는 경우가 생기기 마련이다. 개념 하나 그 자체만 생각하면 이해하기 쉬운데 그래서 그게 어떻게 딥러닝의 학습과 연관지어 생각할 수 있는지 의문이 든다. 딥러닝 초보자인 우리를 헷갈리게 하는 개념들 중 하나인 활성화 함수에 대해 이해해보도록 하자! 1. 활성화 함수란(activation function)? 활성화 함수가 무엇인지 알기 위해 먼저, 활성화라는 단어를 생각해볼 필요가 있다. '활성화'라는 것은 input에 대하여 output을 결정할 때 어떠한 조건에 따라 결정되는 것을 의미한다. 따라서 활성화 함수는 입력에 따라 출력을 결정하게 하는 함수를 의미한다. 활성화 함수가 달라짐에 따라 같은 입력에 대해서도 다른 출력을 낼 수 있는 것.. 2023. 12. 1.
5장. 오차역전파법 지난 챕터에서는 수치 미분을 통해 기울기를 계산하였다. 하지만 이는 계산 시간이 길다는 단점이 있다. 이를 해결하기 위해 이번 챕터에서는 '오차역전파'(backpropagation) 에 대해 알아보고, 이를 이해하기 위한 계산 그래프, 연쇄법칙(chain rule)을 이해하여 오차역전파에 적용되는 부분을 파악하자. 수치 미분은 구현하기 쉽고 단순하지만 계산 시간이 오래 걸린다는 단점이 있다. 가중치 매개변수를 해결하기 위해서는 손실 함수의 가중치 매개변수에 대한 기울기를 구해야 모델의 학습이 이뤄진다. 따라서 결국 기울기를 사용해야하는데 수치 미분은 사용성이 좋지 않으니 이를 효율적으로 계산하는 '오차역전파'가 등장하게 되었다. 밑시딥책에서는 오차역전파를 쉽게 이해시키기 위해 수식이 아닌 계산 그래프로 .. 2023. 11. 9.
The universal workflow of machine learning 이번 장은 케창딥 6장으로 일반적인 머신러닝 워크플로에 대해 소개해준다. 머신러닝 프로젝트를 위해 전체 스펙트럼을 큰 그림을 볼 필요가 있다. 따라서 전반적인 머신러닝 워크플로에 대해 알아보고 그 흐름에 대해 이해해보자! 새로운 머신러닝 프로젝트를 시작할 때, 어떻게 준비해야 하고 제품화시켜 사용자들에게 전달할 수 있을까? 모든 프로젝트가 그렇듯, 머신러닝 프로젝트의 시작도 문제를 정의하는 것에서 출발한다. 이후 문제를 이해하고 적절한 데이터 셋을 구성하여 모델을 개발한다. 이렇게 만들어진 모델을 테스트하여 좋은 성능을 내도록 develop하여 최종 모델을 최적화하면, 배포 환경을 선택하여 모델을 배치한다. 제품 환경에서 모델 성능을 모니터링하고 차세대 모델을 개발할 수 있도록 데이터를 계속해서 쌓아 학.. 2023. 10. 24.
데이터 전처리 기법 : 결측치 / 중복 / 이상치 데이터 딥러닝은 데이터 기반의 학습이 이뤄지기 때문에 데이터가 어떻게 구성되고 있는지(값의 분포 등등)에 따라 딥러닝이 학습하는 파라미터가 올바르게 업데이트가 되지 못하고 모델의 성능이 달라지기도 한다. 뿐만 아니라, 적절히 전처리 된 데이터는 데이터 분석에도 좋은 결과를 나타낸다. 이를 통해 데이터가 보여주는 숨은 의미가 무엇인지 잘 파악할 수 있다. 즉, 데이터에 의해 딥러닝의 성능이 떨어지는 경우와 데이터 분석 결과의 신뢰도가 낮아지는 경우를 막기 위해 데이터 전처리를 사용한다! 또한 전처리에는 다양한 기법이 존재한다. 각 기법마다 적용해야하는 데이터 유형이나, 기준이 다 다르기 때문에 하나하나 포스팅할 예정이다. 1. 결측치 / 중복 / 이상치 데이터 2. 표준화(standardizaiton) 3. 정규.. 2023. 10. 18.
딥러닝의 전반적인 학습 과정 딥러닝은 도대체 어떻게 사람을 흉내내서 문제를 해결할까?딥러닝의 학습이 이뤄지는 과정에 대해서 큰 틀에서 쉽게 알아보자!1. 딥러닝이란?2. 데이터 기반의 학습3. 손실 함수4. 옵티마이저요즘에는 다양한 딥러닝 모델이 우리의 삶에 녹아들어 여러가지 문제를 사람인 듯이 해결한다.마치 '사람처럼'이라는 것은 '사람의 관점'에서 '생각의 과정'이 비슷하다고는 할 수 없지만,'결과적'으로는 매우 비숫하다. 그렇다면 어떻게 딥러닝은 인간이 생각하는 결과와 비슷한 결과를 낼 수 있을까? 1. 딥러닝이란?딥러닝이란 인공지능의 한 분야로, 요즘 주목받는 생성형 AI, multi-modal 등의 모델이 모두 딥러닝 기반의 모델이다.딥러닝은 입력을 받아 출력을 내는 과정을 사람의 신경세포를 모방하여 만들었다고 한다. 이를.. 2023. 10. 17.
4장. 신경망 학습 이전 챕터에서는 신경망의 기초적인 개요에 대해 살펴봤다. 이번장에서는 데이터를 통해 신경망이 어떤 식으로 가중치 매개변수를 갱신하는지 알아본다! 이를 위해 신경망이 학습할 수 있도록 해주는 지표인 손실 함수를 살펴보고, 이 손실 함수의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 방법인 함수의 기울기를 활용하는 경사하강법을 소개하고 있다. 4.1 데이터로부터 학습한다! 신경망은 데이터를 통해 학습한다는 점이 특징이다. 신경망이 데이터를 보고 가중치 매개변수를 자동으로 결정한다는 의미이다! 이처럼 머신러닝, 딥러닝에서는 데이터가 생명이다. 데이터가 있어야 결국 적절한 매개변수 값을 찾기 때문이다. 자동으로 알고리즘을 결정한다는 것은 전통적인 프로그래밍과 다른 인공지능의 특징이다. 다음 포스팅에서 설명.. 2023. 10. 4.