본문 바로가기

분류 전체보기146

파이토치 첫걸음 - 5. 합성곱 신경망 # 세줄요약 # 합성곱 신경망(Convolutional Neural Network): 하나의 필터가 이미지를 훑으며 필터와 일치하는 특성을 추출하는 것을 합성곱 연산이라 하며, 연산이 끝나면 이미지에 대한 특성지도(feature map)가 나오고 이러한 특성들이 중첩되면 더 복잡하고 다양한 형태를 구분할 수 있다. 합성곱 연산을 수행할 때 입력값의 크기를 유지하며 충분한 특성을 뽑기위해 패팅(padding)을 쓰고, 해상도가 충분할 때 이미지 메모리를 줄이고 넓은 시야에서 필터를 적용하기 위해 풀링(pooling)이라는 기법을 사용한다. 따라서 합성곱 연산이 합성곱 레이어(Convolutional Layer)를 지나며 이루어지면 이미지의 가로, 세로는 줄어들고 채널의 수는 늘어나게 되며, 모든 레이어를 .. 2019. 11. 18.
파이토치 첫걸음 - 4. 인공 신경망 # 세줄요약 # 인공뉴런(Perceptron)은 들어온 입력값에 가중치(Weight)를 곱하고 편차(Bias)를 더해준 뒤 모두 다 더한 값을 활성화함수(Activation function)를 통해 변형하여 전달하는 단위를 의미하고, 이러한 뉴런들이 모인 네트워크를 인공신경망(Artificial Neural Network; ANN)이라 부른다(hidden layer가 2개 이상이면, Deep Neural Network; DNN). 인공신경망(ANN)에 들어온 입력값이 여러개의 은닉층(hidden layer)을 거치며 최종결과값인 예측값 y*를 구하는 과정을 순전파(forward propagation)라 한다(y* = w3 × σ(w2 × σ(w1 × χ + b1) + b2) + b3 ; w = weigh.. 2019. 11. 18.
파이토치 첫걸음 - 3. 선형회귀분석 # 세줄요약 # 선형회귀분석은 주어진 데이터의 경향성을 잘 나타내는 선형관계를 찾아내는 것을 의미하는데, 간단한 예로는 y=wx+b 방정식에서 데이터 x, y를 가장 잘 표현하는 변수 w, b를 찾는 것이다(w: weight, b: bias). 예측값과 목표값의 차이인 오차를 나타내는 손실함수(Loss function)를 구하고, 경사하강법(gradient descent)을 사용하여 가중치(weight)를 업데이트하며 오차의 최솟값을 찾는 과정이 바로 학습(Learning)이다. 파이토치에서는 데이터 기본 단위로 "tensor"를 사용하여, "torch.nn" 라이브러리에서 신경망 모델과 손실함수를 설계하고, "torch.optim" 라이브러리에서 경사하강법 알고리즘을 선택해 학습을 수행한다. #code.. 2019. 11. 14.
Ardila et al., 2019, End-to-end lung cancer screening with three-dimensional deep learning on low-dose chest computed tomography # 세줄요약 # We propose a deep learning algorithm that uses a patient’s current and prior computed tomography volumes to predict the risk of lung cancer. Our model achieves a state-of-the-art performance (94.4% area under the curve) on 6,716 National Lung Cancer Screening Trial cases, and performs similarly on an independent clinical validation set of 1,139 cases. We conducted two reader studies: Fi.. 2019. 11. 11.
Liao et al., 2017, Evaluate the Malignancy of Pulmonary Nodules Using the 3D Deep Leaky Noisy-or Network # 세줄요약 # Automatic diagnosing lung cancer from Computed Tomography (CT) scans involves two steps: detect all suspicious lesions (pulmonary nodules) and evaluate the whole-lung/pulmonary malignancy. The model consists of two modules, the first one is a 3D region proposal network for nodule detection, which outputs all suspicious nodules for a subject, then the second one selects the top five nodu.. 2019. 11. 11.
Nasrullah et al., 2019, Automated Lung Nodule Detection and Classification Using Deep Learning Combined with Multiple Strategies # 세줄요약 # 높은 사망률을 가지는 폐암을 조기 진단하기 위하여 폐 CT 영상에서 딥러닝을 이용한 기존의 많은 폐결절(Lung Nodule) 진단 알고리즘이 연구되어 왔으나, 거짓 양성(False Positive)를 구분해내는 것이 어려워 이 논문에서는 환자들의 진단 정보(Clinical Information)를 딥러닝 학습에 함께 사용하였다. 따라서 폐 결절 진단 알고리즘은 여러 단계로 구성되며, 폐 CT 영상을 이용한 영상 딥러닝에서는 CMixNet(Customized mixed link Network)을 기반으로 faster R-CNN을 이용한 결절 포착(Nodule Detection) 단계와 GBM(Gradient Boosting Machine)을 이용한 결절 분류(Nodule Classific.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 11. 파일에 데이터 읽고 쓰기 # 세줄요약 # 1. 애플리케이션은 파일을 읽고 쓰기 위해 운영체제에게 API 함수로 파일처리를 요청하고 그 결과를 반환받는다. 2. 일반적으로 파일을 읽고 쓰는 과정은 열[open()] -> 쓰기[.write()]/읽기[.read()] -> 닫기[close()]로 구성되는데 자원 누수를 막기 위해 마지막에 파일 '닫기'를 잊지말고 해줘야 한다("with~ as~" 문을 사용하면 close() 함수를 사용하지 않아도 자동으로 파일이 항상 닫힘). 3. 문자집합은 기호로 문자를 컴퓨터에서 표현하기 위한 것으로 알파벳 문자집합인 ASCII를 시작으로 현재는 전세계 모든 언어의 문자집합인 Unicode가 제정되어 사용 중이다(이러한 문자집합을 부호화하는 것이 Encoding(인코딩)이다). #code bloc.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 10. 오류를 어떻게 다뤄야 할까 # 세줄요약 # 1. 파이썬에서 예외(Exception)는 문법적으로 문제가 없는 코드를 실행하는 중에 발생하는 오류를 의미한다(ex. Input 값이 잘못된 경우). 2. 예외처리는 "try~ except~" 구문을 이용하여, try 절 안에는 문제가 없는 정상적인 경우에 실행할 코드를, except 절에는 문제가 있을 경우 뒤처리하는 코드를 배치한다. 3. 파이썬에서 발생하는 대다수의 예외들은 "Exception" 클래스 안에 정의되어 있으므로 as문을 사용하여 Exception을 객체(Instance)로 받으면 거의 모든 예외처리가 가능하다(Exception 클래스 안에 없는 예외형식은 raise 문을 사용하여 매개변수로 넘기면 된다). #code block# my_list = [1, 2, 3] t.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 9. 클래스 # 세줄요약 # 1. 클래스(Class)는 속성(변수)과 기능(함수)이 합쳐진 객체(Instance)의 자료형으로, class를 이용하면 class 코드블록 내의 변수와 함수들은 객체 내부에서만 응집력을 발휘하고 객체 외부에는 영향을 주지 않는다. 2. 클래스를 정의할 때는 >>> class My_cls: 로 시작하고 __init__() 메소드로 변수를 초기화하여 모든 객체들이 변수를 공유하는 것을 막고 Self를 사용하여 객체에 소속된 변수와 함수를 정의한다. 3. 다른 클래스의 함수와 변수를 그대로 사용하려면 상속( >>> class A: // >>> class B(A): A -> B)을 이용하여 부모클래스의 변수, 함수를 받아올 수 있다. #code block# class Car: def __ini.. 2019. 11. 11.
뇌를 자극하는 파이썬3 - 8. 모듈과 패키지 # 세줄요약 # 1. 모듈(module)은 독자적인 기능을 갖는 구성 요소를 의미하는데 파이썬에서는 각각의 소스파일을 의미한다. - 사용법: import 키워드를 사용하여 자신 또는 다른 프로그래머가 만든 소스파일을 불러와서 사용할 수 있다. #code block# # 모듈 약자를 사용하는 방법 import module as mod mod.function() # 모듈의 특정 함수만 불러오는 방법 from module import function function() - 모듈의 종류 표준 모듈: 파이썬에 내장된 자체모듈 사용자 생성 모듈: 프로그래머가 직접 작성한 모듈 서드파티 모듈: 다른 프로그래머 또는 업체가 제공한 모듈 2. 파이썬은 최상위 수준에서 실행되는 스크립트가 있을뿐 메인함수가 따로 없기에 현.. 2019. 10. 25.