머신러닝 18

[NLP] 자연어 처리의 모든 것 - 자연어 처리의 시작

자연어 처리 개요자연어 처리 활용 분야와 트렌드Task- Natural Language Understanding(NLU): 컴퓨터가 주어진 단어, 문단을 이해하는 것- Natural Language Generation(NLG): 자연어를 상황에 따라 적절히 생성하는 것활발하게 연구되고 있는 분야. 분야- NLP: 딥러닝 분야 발전 선도학회: ACL, EMNLP, NAACL- NLP task: low-level parsing(문장을 토큰 단위로 나누고 단어의 원형을 찾는 것 의미레벨), Word and phrase level(Named entity recognition, part-of-speech tagging품사, noun-phrase chunking, dependency parsing, dorefere..

머신러닝 2024.06.24

[딥러닝] 딥러닝 2단계: 심층 신경망 성능 향상시키기 - 7. 다중 클래스 분류, 8. 프로그래밍 프레임워크 소개

https://www.boostcourse.org/ai216/lecture/401762?isDesc=false 딥러닝 2단계: 심층 신경망 성능 향상시키기부스트코스 무료 강의www.boostcourse.org 7. 다중 클래스 분류Softmax Regression- 지금까지 보았던 문제들은 이진 분류였다.- multilabel classification의 경우 softmax regression을 사용한다.- 결과값은 각 label에 대한 0에서 1사이의 확률값으로 나오게 된다.- softmax 층에서는 해당 클래스(label)에 속할 확률을 구하게 된다. 마지막 선형 출력값 z들을 각각 지수화시켜 임시변수 t = e^2를 만든다. 그 후 모든 값들의 합이 1이 될 수 있도록 모든 임시 변수값들의 합을 나..

머신러닝 2024.05.27

[딥러닝] 딥러닝 2단계: 심층 신경망 성능 향상시키기 - 5. 하이퍼파라미터 , 6. 배치 정규화

좋은 하이퍼파라미터를 찾을 수 있는 방법? 튜닝 프로세스- 하이퍼파라미터의 종류+ mini batch size- 무작위 접근 방식: 격자 모양이 아니라, 랜덤하게 하이퍼파라미터를 시도한다.-> 어떤 하이퍼파라미터가 문제 해결에 더 중요한지 미리 알 수 없기 때문이다.- 정밀화 접근: 전체 하이퍼파라미터 공간을 미리 탐색하여 좋은 점을 찾고, 그 근방에서 더 정밀하게 탐색한다. 적절한 척도 선택하기- 은닉 유닛의 수, 은닉층의 수는 무작위로 뽑는 것이 합리적인 파라미터들이다.(1과 0.0001 사이의 값 중에 고른다.)- 학습률의 경우에는 그렇지 않다. 거의 모든(90%) 값이 1과 0.1 사이에 존재하기 때문이다. 따라서 선형척도 대신 로그척도에서 하이퍼파라미터를 찾는 것이 합리적이다.- 지수 가중 이동..

머신러닝 2024.05.20

[딥러닝] 딥러닝 2단계: 심층 신경망 성능 향상시키기 - 4. 최적화 알고리즘

미니 배치 경사하강법- 모든 훈련 샘플을 처리하기 전에 경사 하강법이 진행되도록 하면 알고리즘 속도가 빨라진다.- 미니배치: 작은 훈련 세트- 새로운 표기법) x^{n} : n번째 미니배치. -> Mini batch t: X^{t}, Y^{t}- 배치 경사 하강법: 모든 훈련 세트를 동시에 학습- 미니 배치 경사 하강법: 전체 훈련 세트를 배치로 나누어 학습. t = 1, ... , 5000까지.(1) X^{t}에 대해 정방향 전파: 벡터화된 코드가 100개의 훈련 샘플 학습을 대신(2) 비용함수 계산(3) 가중치 업데이트-> 경사 하강은 각 배치마다 1번씩- J^{t} 는 X^{t}, Y^{t} 에 대해 계산된 비용함수- 배치의 크기는 매개변수- 두 가지 극단적인 경우: 배치의 크기 = 훈련샘플 전체(..

머신러닝 2024.05.13

[딥러닝] 딥러닝 2단계: 심층 신경망 성능 향상시키기 - 2. 신경망 네트워크의 정규화

https://www.boostcourse.org/ai216/lecture/401734?isDesc=false 딥러닝 2단계: 심층 신경망 성능 향상시키기 부스트코스 무료 강의 www.boostcourse.org 정규화 - high variance -> 제일 먼저 정규화 시도 - 비용함수에 정규화 매개변수 람다λ 추가 - L1 정규화 - L2 정규화 : L1보다 더 많이 사용. weight decay라고 불린다. -> weight에 1보다 작은 값인 1 - a λ/m 이 곱해지기 때문이다. 왜 정규화는 과대적합을 줄일 수 있을까? - λ값을 크게 만들어서 w을 0에 가깝게 설정할 수 있다. -> 신경망 간소화로 과대적합이 줄어든다. - ex) tanh 함수에서 z값을 작게 만들면 선형 함수를 계산하는 것..

머신러닝 2024.04.15

[딥러닝] 딥러닝 2단계: 심층 신경망 성능 향상시키기 - 1. 머신러닝 어플리케이션 설정하기

https://www.boostcourse.org/ai216/joinLectures/132205?isDesc=false 딥러닝 2단계: 심층 신경망 성능 향상시키기 부스트코스 무료 강의 www.boostcourse.org Train/Dev/Test 세트 신경망의 층의 개수, 히든유닛의 개수, 학습률, 활성화 함수 ... 를 모두 고려해 신경망을 만든다. 이후 결과에 기반해 아이디어를 개선한다. 어떤 분야의 애플리케이션의 직관이 다른 분야에 잘 적용되지 않는다. 따라서 다른 분야를 첫 시도했을 때, 첫 시도에 하이퍼파라미터튜닝을 잘 하는 것은 어렵다. Train/Dev/Test 세트를 잘 만드는 것은 중요하다. 전체 데이터셋을 트레이닝셋, 테스트셋, dev셋으로 나눈다. 보통 60/20/20 퍼센트로 나누..

머신러닝 2024.04.15

[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 5. 심층 신경망 네트워크

더 많은 층의 심층 신경망 * 로지스틱 회귀는 얕은(shallow) 신경망이다. - 대개 은닉층의 개수를 파라미터로 삼아, 점점 은닉층의 개수를 늘려가며 성능을 최적화한다. - notation - n^[1]: 1번째 은닉층의 히든 유닛의 수. 정방향 전파와 역방향 전파 - 역방향 전파에서 역함수를 구현하는 방법. - 정방향 반복은 입력데이터 x로 초기화 - 역방향은 da^[l]로 초기화 - 붉은색 화살표: 왼쪽으로 그 단계의 da값을 전달한다. - 아래의 세 개의 사각형은 역방향 함수이다. 각각 dw와 db를 계산한다. - 위의 세 개의 사각형으로부터 각각의 z값을 넘겨받는다. * 학습 알고리즘의 복잡성은 데이터에서 온다. 심층 신경망에서의 정방향전파 - 이전 층에서의 a^[1]가 다음 층의 x가 된다...

머신러닝 2024.04.08

[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 4. 얕은 신경망 네트워크 (2/2)

https://www.boostcourse.org/ai215/joinLectures/20010?isDesc=false 딥러닝 1단계: 신경망과 딥러닝 부스트코스 무료 강의 www.boostcourse.org 활성화 함수 tanh 함수: -1과 1 사이의 값을 가지고 (0, 0)를 지난다. -> 평균값이 0에 더 가깝기 때문에, 은닉유닛에서 쓰기 좋다. 데이터의 중심을 0.5(sigmoid의 경우)대신 0으로 만들면, 다음 층의 학습이 쉽다. 단, 출력 단계에서는 확률을 출력해야 하기 때문에 0과 1사이의 값을 가지는 sigmoid를 주로 쓴다. 층마다 다른 활성화 함수를 쓸 수 있다. sigmoid는 주로 이진 분류의 출력층에 많이 쓴다. 그렇지 않은 경우 ReLU가 기본값으로 많이 쓰인다. tanh와 ..

머신러닝 2024.04.01

[딥러닝] 딥러닝 1단계: 신경망과 딥러닝 - 4. 얕은 신경망 네트워크 (1/2)

신경망 네트워크 개요 뉴런 열 하나하나마다 z와 a값을 계산한다. 로지스틱 회귀에선 z와 a를 한 번 계산했지만 신경망에서는 여러번 계산한다. 신경망에서도 역방향 계산을 하여 w와 b를 갱신한다. 신경망 네트워크의 구성 알아보기 input layer / hidden layer / output layer(최종 y햇 값을 계산.) 입력값과 출력값은 알 수 있지만 은닉층의 값은 알 수 없다. a: 이전 단계에서의 입력값을 다음 layer로 전달해주는 값. 활성값. a^[1]는 (4,1) 벡터. 최종적으로 y햇의 값은 곧 a^[2]가 된다.(이전 층에서 넘어온 값들을 활성함수에 적용한 결과값) 로지스틱 회귀에서 a가 곧 y햇이 되는 것과 비슷하다. 이 신경망은 2층 신경망.(입력층은 세지 않는다.) 신경망 네트..

머신러닝 2024.03.25