목록[AI]/[교과목 | 학습기록] (9)
개발자로 후회없는 삶 살기
서론 교과목 5주차 고급 신경망 활용에 관한 내용을 정리합니다. 목적 : feature extraction의 재발견! 본론 - Shallow Learning vs Deep Learning 1. SL : feature 추출은 전문가(사람)이 하고, 분류만 모델이 하는 방법 2. DL : feature 추출부터 분류까지 모델이 하는 방법 => 핵심 1. SL은 분류기만 학습합니다. 2. DL은 추출기부터 분류기까지 전부 학습합니다. ※ 빨간색 부분이 분류기/ 파란색 부분이 분류기 > 결론 : 과거와 현재의 차이는 feature 추출을 사람이 하는가, 기계가 하는가의 차이입니다. - CNN => FNN의 문제점 1. 뉴런이 완전 연결되어 학습시켜야 하는 파라미터의 개수가 폭발적으로 증가 2. 입력을 1차원으로..
서론 교재에 등장하는 tf의 유용한 기능을 정리합니다. 본론 - 콜백 => 정의 : 훈련 중에 동작을 확장하거나 수정하고자 모델로 전달하는 객체 1. model checkpoint : 정기적으로 모델의 체크 포인트를 저장하고 문제가 발생할 때 복구하는 데 사용 from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint model_checkpoint = ModelCheckpoint(filepath="./{epoch}-{val_loss:.2f}-{val_accuracy:.2f}.h5", monitor="val_loss", save_best_only=True, verbose=1) # 데이터 전처리, 모델링, compile 생략 model.fit..
서론 교과목 1, 2주차 퍼셉트론에 관한 내용을 정리합니다. 목적 : 김인철 교수님의 강의는 무조건 남겨야 하는 값진 교육이다. 본론 1주차 - 퍼셉트론이란? N차원의 입력을 받아서 0, 1의 출력을 내는 하나의 뉴런입니다. 깨끗한 선형 분류는 가능하나 비선형 분류는 못합니다. ∴ 딥러닝의 최종 학습은 퍼센트론의 파라미터를 갱신하는 퍼센트론 러닝입니다. => MLP(multi layer perceptron) 퍼셉트론을 여러 개 연결하여 선형을 비선형으로 꺾는 퍼셉트론이다. 안에서 복잡한 일을 해야 곡선의 일(비선형)을 할 수 있습니다. => 퍼셉트론의 한계 1. 경계에서 확 뛴다 > 안정적인 수렴이 어렵습니다. 2. 그래프 중간이 연속적이지 않아서 > 안정적인 수렴이 어렵습니다. => 퍼셉트론의 활성화 ..
서론 교과목 10주차 오토인코더에 관한 내용을 정리합니다. 본론 - 인-디코더라면? encoding 과정은 입력 데이터를 가지고 잠재 공간상의 한 벡터로 변환하는 과정이 인코더의 역할입니다. > 디코더는 잠재 공간을 다시 출력 form으로 대응시켜 주는 것 > 잠재 공간을 feature map이라고 생각하면 됩니다. - 활용 노이즈 영상을 입력으로 넣어서 노이즈를 제거하는 영상이 생성/ 해상도/ 복원(문화재)/ 과거의 흑백 영화를 컬러 영화로 바꾸기 시멘틱 분할 등등 - 유명한 네트워크 1. fcn(fully convolution netwokr) dense가 없습니다. 모든 레이어가 conv로 되어있습니다. > 인코더는 vgg16으로 cnn 층입니다. = feature 뽑는 과정입니다. > 여기까지 줄이..
서론 교과목 7주차 단어 임베딩에 관한 내용을 정리합니다. 본론 - NLP에서 단어의 중요성 단어는 사람끼리 대화를 할 때 의미를 알아들어야 합니다. > 즉 단어에 의미가 있습니다. + 대화에는 문맥이 있어서 문장에서 몇 개 빠져도 무슨 단어가 나와야 하는지 추측합니다. > 따라서 문장을 구성하는 게 단어라서 단어를 모르면 자연어 처리는 없습니다. + 단어는 의미를 가집니다. 같은 단어도 다른 뜻을 가지는 경우도 많고 상황에 따라 다 다릅니다. > 모델이 단어를 이해해야 합니다. 뜻을 알아야 사용할 수 있습니다. > 따라서 개념의 나열이고 개념의 조합입니다. 개념을 놓치면 자연어는 없습니다. (= 이미지도 이미지에서 이해를 해야 하는 것입니다.) > 단어를 가까운 단어 틀린 단어 등 표현하지 않으면 이해..
서론 교과목 9주차 순환 신경망 활용에 관한 내용을 정리합니다. 본론 - rnn이란? 앞에서 배운 건 모두 다 feed forward입니다. > 입력에 따라서만 출력이 결정되지 다른 요인으로는 출력에 영향을 받지 않고 내부에 시간이 흘러도 기억하고 있는 정보가 있어서 뭐 새로 들어온 데이터랑 결합해서 출력하는 그런 일이 없습니다. + dnn은 입력이 서로 독립적이라고 가정합니다. 이 가정은 시퀀스 데이터에는 해당되지 않습니다. 예를 들어 문장의 단어, 작곡의 음표, 시간에 따른 주가는 요소들이 이전 요소에 종속성을 나타내는 시퀀스의 예입니다. rnn은 순차 데이터를 처리합니다 : 입력 데이터가 순서가 있는 시퀀스 데이터입니다. 혹은 출력이 순서가 있는 시퀀스입니다 혹은 양쪽 다 순서가 있는 시퀀스 데이터..
서론 교과목 9주차 트랜스포머 내용을 정리합니다. 본론 - 정적 임베딩의 문제점 이건 한 번 학습이 끝나서 벡터화되면 새로운 문장이 들어와도 동일 단어는 동일한 벡터가 됩니다. 내가 과학 문서로 W2V를 학습시켰는데 법률 문서의 같은 단어를 가져와도 W2V를 적용하면 과학 문서에서 임베딩한 결과와 같은 결과가 나옵니다. -> 우리가 기대하는 것은 테스트 데이터(새로운 데이터)를 임베딩하라고 넣었을 때 ★주변의 단어에 따라서 같은 단어를 기존의 벡터와는 다른 벡터로 바꾸는 것을(임베딩) 기대합니다★ = 동적 임베딩 -> 단순 단어의 예측이 아니고 언어 구조와 문법을 다 익힌 것으로 연상 가능합니다. - 동적 임베딩 중의어, 동음이의어 : 다 다른 은행인데 옆의 의미를 보지 않고 무조건 (ex 101010)..
서론 교과목 5주차 고급 신경망 활용에 관한 내용을 정리합니다. 본론 - VQA 컴퓨터에게 사진을 주면서 사진에 관한 질문을 합니다. = 묻는 말이 이 영상에서 뭘 묻는 건지 영상과 자연어를 잇는 문제입니다. > 대답은 또 자연어로 답합니다. > 5지 선다로 객관식입니다. > 지금 비가 오고 있니? 자연어를 이해해서 영상에서 답을 찾아서 자연어로 대답을 하는 것입니다. => 코드 1. cnn 모델 2. rnn 모델 -> 임베딩 매개변수는 동일합니다. (단어의 종류 10000가지, 256 크기의 벡터로 바꿈, 최대 입력은 100개) + 256 벡터 100개가 쫙 있는데 이걸 lstml에 넣는다는 게 100 단어를 한 번에 넣는 게 아니고 첫 번째 넣고 두 번째 넣고 쭉쭉쭉 넣어서 100번째 단어를 넣습니다..