본문 바로가기

딥러닝44

케라스 창시자에게 배우는 딥러닝 - 4. 머신 러닝의 기본 요소 # 세줄 요약 # 머신러닝은 지도학습(Supervised Learning: 입력데이터에 타깃(정답)을 매핑하는 방법을 학습), 비지도학습(Unsupervised Learning: 타깃 없이 입력데이터의 흥미로운 특징 또는 표현 학습), 자기지도학습(Self-supervised Learning: 입력데이터에서 경험적인 알고리즘을 사용해 레이블 생성), 강화학습(Reinforcement Learning: 에이전트가 주어진 환경에서 보상을 최대화하는 방법을 학습) 등의 네가지 분류로 나뉜다. 머신러닝에서는 데이터를 훈련에 사용되는 훈련데이터(Train Dataset), 훈련 중 성능을 평가하여 모델 튜닝에 도움을 주는 검증 데이터(Validation Dataset), 훈련이 끝난 모델을 완전히 새로운 데이터에.. 2020. 10. 20.
Lindsay et al., 2018, Transfer Learning Approach to Predict Biopsy-Confirmed Malignancy of Lung Nodules from Imaging Data:A Pilot Study # 세줄요약 # Dataset Includes 796 patient have pathology-confirmed diagnosis(from CT-guided biopsy) and high-resolution CT imaging data at one institution between 2012 and 2017. To avoid overfitting on small dataset, Transfer learning to train a network using open dataset(LIDC) and added three new untrained layers. These study using only 86 patients, because Lesion location was manually determined u.. 2020. 10. 5.
케라스 창시자에게 배우는 딥러닝 - 3. 신경망 시작하기 # 세줄요약 # 신경망이 가장 많이 사용되는 문제로는 이진 분류, 다중 분류, 스칼라 회귀 등이 있으며 각각의 문제에 맞는 올바른 손실함수를 선택하는 것이 중요하다(이진 분류: Binary crossentropy, 다중 분류: Categorical crossentropy, 스칼라 회귀: Mean Squared Error). 전형적인 케라스 작업 흐름: 훈련 데이터(입력 텐서, 타깃 텐서) -> 네트워크(신경망 모델) 정의 -> 손실함수, 옵티마이저, 측정지표 선택 후 학습과정 설정 -> 모델의 fit() 메소드 반복 호출 훈련 데이터가 적으면 과대적합을 피하기 위해 은닉층의 수를 줄인 작은 모델을 쓰거나 k-겹 교차검증과 같은 방법으로 모델의 신뢰도를 올릴 수 있다(은닉층이 클수록 추출하는 특성이 많아지.. 2020. 8. 31.
케라스 창시자에게 배우는 딥러닝 - 2. 시작하기 전에: 신경망의 수학적 구성 요소 # 세줄요약 # 텐서(Tensor)는 머신러닝의 기본구성요소로 다차원 넘파이(NumPy) 배열에 데이터를 저장하는 것을 의미하며, 심층신경망(DNN)의 각 층에서 수치 데이터 텐서를 텐서 연산을 통해 새로운 표현으로 변환하는 것이 딥러닝의 학습과정이다. 머신러닝에서 훈련은 데이터 샘플과 타깃의 배치를 랜덤하게 뽑고 이 배치에서 손실에 대한 파라미터의 그래디언트(Gradient)를 계산해 반대방향으로 가중치를 업데이트하는 과정이 반복되는 것을 의미한다. 훈련과정에서 사용되는 핵심 개념은 손실(훈련하는 동안 최소화 해야할 양)과 옵티마이저(Optimizer: 손실에 대한 그래디언트가 파라미터를 업데이트하는 방식)이다. # 상세 리뷰 # 1. 텐서(Tensor) - 머신러닝 시스템에서 일반적으로 사용하는 기본.. 2020. 8. 18.
머신러닝의 데이터셋 종류와 모델 평가 # 세줄요약 # 머신러닝(딥러닝)에 사용되는 데이터들은 훈련(Train), 검증(Validation), 테스트(Test)의 3가지 데이터셋으로 나뉘어 인공지능 학습 및 평가에 사용한다. Train dataset은 인공지능 모델을 학습하는 데 사용되며, Validation dataset은 학습된 모델의 성능을 검증하여 하이퍼 파라미터(Hyper parameter)를 조정하는 지표로 활용되며, Test dataset은 파라미터 조정까지 진행하여 최종적으로 학습이 완료된 모델의 성능을 평가하는데 사용된다. 인공지능을 학습하는 동안 Train dataset으로 학습시키고 Validation dataset으로 학습성능을 검증하는데, 이 두 데이터셋을 어떻게 나누는지에 따른 모델 평가 방법으로 Hold out va.. 2020. 7. 24.
인공지능과 머신러닝, 딥러닝의 관계 # 세줄요약 # 인공지능: 보통의 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동 머신러닝: 입력 데이터와 기댓값(해답 데이터)을 받아서 기대 출력에 가깝게 만드는 유용한 표현(representation)을 학습하는 것을 의미하며 인공지능을 만드는 방법 중 하나 딥러닝: 신경망(Neural Network)이라는 연속된 층에서 데이터로부터 점진적으로 의미있는 표현을 학습하는 새로운 머신러닝 기법 중 하나 # 상세 리뷰 # 인공지능과 머신러닝, 딥러닝의 관계는 정리하면 아래의 그림 1과 같다. 즉 인공지능이랑 말 그대로 인공적인 지능을 연구하는 학문분야를 의미하고, 머신러닝은 데이터를 주었을 때 데이터 속에 담긴 표현(representation), 법칙(relation) 등을 스스로 학습하여 문제.. 2020. 7. 24.
리눅스 터미널에서 딥러닝 학습 강제 중단했을때 GPU에 남은 메모리 정리하는 방법 # 세줄요약 # ps aux | grep python 명령어를 사용하여 딥러닝 학습을 실행시킨 python 파일의 실행 ID를 찾는다. 찾은 아이디가 예를 들어 '1234' 라면, sudo kill -9 1234 명령어를 사용하여 Kill 명령어를 내린다. nvidia-smi 명령어로 GPU 메모리가 정리되었는지 확인한다. # 상세리뷰 # * 리눅스 터미널에서 ctrl+c 등으로 머신러닝 학습 프로세스를 강제로 종료할 시에는 간혹 프로세스가 완전히 종료되지 않고 GPU 메모리에 데이터가 남아있는 경우를 볼 수 있다. * 이를 확인하려면 터미널 상에 nvidia-smi 명령어를 입력하여 GPU 가동 현황을 볼 수 있다. >>> nividia-smi - 위와 같이 4개의 GPU 모두 사용 현황을 확인할 수 .. 2020. 4. 2.
Wang et al., 2019, Lung Cancer Detection using Co-learning from Chest CT Images and Clinical Demographics # 세줄요약 # 폐암진단에 있어 위양성(False Postive)를 줄이기 위해 저자 그룹은 CT 영상과 함께 진단 통계 자료(Clinical Demographics)를 동시에 학습시켰으며, 사용한 데이터셋은 "Molecular and Cellular Characterization of Screen-Detected Lesions (MCL)"이다. 3D CT 영상 학습에는 3D Attention-Based CNN(Convolutional Neural Network)을 사용하였고, 이미지 특성(image features)과 진단 정보(Clinical Information) 학습에는 Random Foreset Classifier를 사용하였다. 영상 정보와 진단 정보를 함께 학습시킨 결과(AUC = 0.787).. 2020. 3. 10.
Choi & Jin, 2018, Predicting Cognitive Decline with Deep Learning of Brain Metabolism and Amyloid Imaging # 세줄요약 # 인간에게 치명적인 인지기능 장애를 가져오는 알츠하이머 질병을 진단하기 위하여 CNN 기반의 진단 알고리즘을 개발하였으며, 먼저 AD(Alzheimer Disease)와 NC(Normal Control)을 분류하는 모델을 먼저 학습시킨 후, MCI(Mild Cognitive Inpairment) 환자들이 치매로 전환(Converter or Nonconverter)되는지를 학습시켰다. 학습 데이터로는 ADNI 오픈 데이터셋의 FDG와 AV-45 PET 영상들을 사용하였으며, 이때 딥러닝은 특성 추출을 자동으로 하기에 Spatial Normalization 같이 뇌영상에서 전통적으로 사용되던 영상처리 기법들은 적용하지 않았다. 학습 결과 AD vs NC 환자 분류와 MCI 환자들 중 AD 환자.. 2020. 2. 24.
케라스 창시자에게 배우는 딥러닝 - 1. 딥러닝이란 무엇인가? # 세줄요약 # 머신러닝은 데이터와 기댓값이 주어졌을 때 데이터처리 작업을 위한 실행규칙을 찾는 것으로 다시 말하면 입력데이터를 기반으로 기대출력에 가깝게 만드는 유용한 표현(Representation)을 학습하는 것이다(표현: 데이터를 해석하는 다른 방법). 딥러닝은 기본층을 겹겹이 쌓아올려 구성한 신경망(Neural Network)이라는 모델을 사용하여 의미있는 표현을 학습하는 것으로, 심층신경망을 정보가 연속된 필터를 통과하면서 순도높게 정제되는 다단계 정보 추출작업을 의미한다. 딥러닝이 다른 머신러닝 기법(Logistic Regression, SVM: Support Vector Machine 등등)보다 빠르게 확산된 이유는 데이터의 좋은 표현을 직접 찾는 특성공학(feature engineerin.. 2019. 12. 4.