본문 바로가기

반응형

AI Theory/key concept of AI

(53)
가중치 초기화와 배치 정규화 가중치 초기화와 배치 정규화 가중치 초기화 신경망 성능에 큰 영향을 줌 가중치 값이 치우치면 활성화 함수의 결과도 치우쳐서 표현할 수 있는 신경망 수가 적어짐 모델의 활성화 값이 골고루 분포되도록 하는 것이 중요 선형 함수 가중치 초기화 제로 초기화 가중치를 0으로 초기화 각 레이어의 가중치 분포가 중앙에만 몰려있어 학습 불가능 정규분포 초기화 제로 초기화보다는 분포가 퍼져있으나 여전히 중앙에 치우쳐 있음 균일분포 초기화 제로 초기화보다는 분포가 퍼져있으나 여전히 중앙에 치우쳐 있음 활성화 값이 균일하지 않아 역전파로 전해지는 기울기 값이 사라질 수 있음 xavier 정규분포 초기화 은닉층 노드 수가 n이면 표준편차는 1/sqrt(n)인 분포로 초기화 비교적 분포도 고르고 레이어마다 표현이 잘 되 더 많..
모델 크기 조절과 규제 모델 크기 조절과 규제 모델의 크기 조절 과대적합이 발생할 경우, 해결 방법 중 하나로 모델의 크기를 줄이는 것이 제시된다. 모델의 크기를 조절하는 것은, 레이어의 유닛 수와 레이어의 수를 조절하는 것이다. 1. 레이어 유닛수를 감소시켜 모델 전체 파라미터 수 감소시키기 2. 레이어 수를 줄여서 더 앝은 신경망으로 만들기 데이터의 규모가 클 때, 더 크고 깊은 모델이 더 좋은 성능을 보여주지만, 데이터에 비해 모델이 너무 크면 과대적합이 발생할 수 있다. 따라서 데이터의 크기에 따라 모델 크기를 적절하게 설정해야 한다. 같이보면 좋을 글 [모델 튜닝] 하는 방법 - 과대적합과 과소적합 이번 포스팅에서는 머신러닝/딥러닝 모델의 성능평가 이슈 2가지 과대적합(overfittiong)과 과소적합(underfi..
딥러닝 구조와 모델 딥러닝 구조와 모델 딥러닝 구조와 레이어 딥러닝은 여러개의 layer로 구성되어 있다 기본적으로 입력층(input), 은닉층(hidden), 출력층(output)으로 구분된다 레이어는 딥러닝 모델을 구성하는 핵심 데이터 구조로서 하나 이상의 텐서를 입력받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈이다. input 객체 입력 데이터 모양인 shape와 예상 데이터유형 dtype을 정의. 그 외에도 batch size, name 지정 가능 Dense 레이어 완전연결계층(Fully-Connected Layer)으로 노드수(유닛수)를 지정 Flatten 레이어 배치 크기 또는 데이터 크기를 제외하고 데이터를 1차원 형태로 평평하게 반환 activation 레이어 주로 비선형 활성화 함수 사용 Dense l..
텐서 표현과 연산 텐서 표현과 연산 텐서(Tensor)는 데이터를 담기위한 컨테이너(container)로서, 다차원 배열 또는 리스트 형태와 유사하다. 일반적으로 수치형 데이터를 저장하고, 동적 크기를 가진다. Rank: 축(차원)의 개수 Shape: 형상(각 축의 요소의 개수) Type: 데이터 타입 텐서의 종류 0D Tensor(scalar) 하나의 숫자를 담고 있는 텐서 축과 형상이 없다. t0 = tf.constant(1) # 상수 텐서 제작 tf.rank(t0) # t0 텐서의 축 개수 반환: 0 1D Tensor(Vector) 리스트와 유사한 텐서 하나의 축 존재 t1 = tf.constant([1, 2, 3]) tf.rank(t1) # 1 2D Tensor(Matrix) 행렬과 같은 모양 2개의 축 존재 수치..
[CV] GAN 과 cGAN GAN(Generative Adversarial Network) 생성모델로 유명한 딥려닝 알고리즘 Generator 및 Discriminator라 불리는 두 신경망이 minimax game을 통해 서로 경쟁하며 발전 Generator는 아래 식, 목적 함수를 최소화하는 방향으로, Discriminator는 목적 함수를 최대화하는 방향으로 학습함 위 식의 z는 임의의 노이즈를, D,G는 각각 Discriminator, Generator를 의미한다 Discriminator 실제 이미지를 1, 가짜 이미지를 0으로 두었을 때, D는 위 식을 최대화해야하므로 각각의 항이 최대가 되도록 해야한다.따라서 두개의 log 항의 값이 1이 되도록 해야한다.즉 D(x)는 1, D(G(z))는 0이 되도록 해야 한다. Ge..
[NLP] Text Summarization [NLP] Text Summarization 1.텍스트 요약(Text Summarization) 긴 길이의 문서(Document) 원문을 핵심 주제만으로 구성된 짧은 요약(Summary) 문장들로 변환하는 것 중요한 것은 요약 전후에 정보 손실 발생이 최소화되어야 한다는 점 크게 추출적 요약(Extractive Summarization)과 추상적 요약(Abstractive Summarization) 방법 이용해 요약 추출적 요약(Extractive Summarization) 원문에서 문장들을 추출해서 요약 10개의 문장으로 구성된 텍스트가 있다면, 그중 핵심적인 문장 3개를 꺼내와서 3개의 문장으로 구성된 요약문 생성 원문을 구성하는 문장 중 어느 것이 요약문에 들어갈 핵심문장인지를 판별한다는 점에서 문..
사이킷런을 활용한 추천 시스템 사이킷런을 활용한 추천 시스템 추천 시스템 사용자(user)에게 관련된 아이템(item)을 추천해 주는 것 영화 추천 시스템을 만든다고 생각해보자. 추천 시스템은 영화들을 아래 사진과 같이 좌표 평면에 배치하여 표현한다. 그리고 영화들 간 거리가 좁을수록 유사도가 높다고 판단하여 사용자가 예전에 봤던 영화와 유사한 영화를 추천한다. 신규 사용자에 대해서도 개인정보가 유사한 기존 사용자의 영화 데이터를 기반으로 영화를 추천한다. 이때 추천 시스템은 범주형 데이터를 다룬다. 범주형 데이터를 숫자 벡터로 변환한 뒤 유사도를 계산하여 유사도가 높은 제품을 추천한다. 는 사실을 알 수 있다. 코사인 유사도(cosine similarity) 유사도를 계산하는 가장 잘 알려진 방법 자연어 처리(Natural Lang..
비지도학습(Unsupervised Learning) 비지도학습(Unsupervised Learning) 지도학습과 달리 training data로 정답(label)이 없는 데이터가 주어지는 학습방법 라벨링이 되어 있지 않은 데이터들 내에서 비슷한 특징이나 패턴을 가진 데이터들끼리 군집화한 후, 새로운 데이터가 어떤 군집에 속하는지를 추론한다. 군집화(클러스터링, clustering), 차원축소(dimensionality reduction) 등이 있다. 클러스터링(군집화) 명확한 분류 기준이 없는 상황에서 데이터들을 분석하여 가까운(또는 유사한) 것들끼리 묶어 주는 작업 개별적인 데이터들을 몇 개의 그룹으로 추상화하여 새로운 의미를 발견할 수 있다. 대표적으로 K-Means, DBSCAN 등이 있다. K-Means k 값이 주어져 있을 때, 주어진 데이터들..

반응형