AI/MachineLearning

AI/MachineLearning

[tensorflow] multi gpu 사용하기

multi gpu 사용하기 모델링 할 때 gpu를 사용하면 속도가 몇만배이상 빨라진다. 그러나 모델이 복잡해지면 복잡해질수록 single gpu가 아닌 multi gpu를 사용하게 되는데 이 때는 약간의 코드만 추가해주면 된다. 예시 코드 * tensorflow 기준 import tensorflow as tf tf.compat.v1.disable_eager_execution() mirrored_strategy = tf.distribute.MirroredStrategy(devices=["/gpu:0", "/gpu:1"]) gpu 0번과 1번을 사용하겠다는 예시이다. 나는 실행시킬 때, $ CUDA_DEVICE_ORDER=PCI_BUS_ID CUDA_VISIBLE_DEVICES=1,2 python3 mode..

AI/MachineLearning

eICU Collaborative Research Database (eicu-crd)

여러 분야에서 공개 데이터셋이 있듯 의료분야에도 공개 데이터셋이 있다. 다른 도메인만큼 다양하진 않지만 가뭄의 콩나듯 있다.. 가장 유명한 MIMIC도 있고, 수술중의 생체신호 데이터와 관련된 vitaldb도 있다. 오늘 소개해드릴 공개데이터셋은 eicu에 대한 데이터셋이다. 보통 eicu-crd라고 부르며 208개 센터의 약 20만명 환자들의 demo, lab, vital 등의 데이터가 담겨져 있다. Overview of the eICU data The eICU Collaborative Database is a collection of tables relating to patients who were treated as part of the Philips eICU program across intens..

AI/MachineLearning

배치 정규화(Batch Normalization)

배치 정규화(Batch Normalization)는 정규화를 모델에 들어가는 입력 데이터뿐만 아니라 모델 내부 히든층의 입력 노드에도 적용하는 것이다. 배치 정규화를 적용하면 매 층마다 정규화를 진행하므로 가중치 초기값에 크게 의존하지 않는다. 즉, 가중치 초기화의 중요도가 감소한다. 또한 과적합을 억제한다. 즉, 드롭 아웃(Drop out)과 L1, L2 정규화의 필요성이 감소한다. 가장 큰 장점은 학습 속도도 빨라진다는 것이다. 배치 정규화를 사용하기 위한 함수/라이브러리 배치 정규화는 하나의 레이어로써 Dense 레이어와 활성화 함수 사이에서 작용한다. 따라서 이번 실습에서는 기본 모델을 생성할 때 활성화 함수와 똑같은 역할을 하는 Activation 레이어를 따로 활용해야 한다. tf.keras...

AI/MachineLearning

드롭 아웃(Drop out) 기법

드롭 아웃(Drop Out)은 모델이 과적합되는 것을 막기 위한 가장 보편적인 정규화(Regularization) 기법 중 하나이다. 드롭 아웃은 데이터를 학습할 때, 일부 퍼셉트론(뉴런)을 랜덤하게 0으로 만들어 모델 내부의 특정 가중치(Weight)에 치중되는 것을 막는다. 이를 통해 모델이 일부 데이터에 가중되는 것을 막고 일반화된 모델을 만들 수 있다. 드롭 아웃을 사용하는데 있어 주의할 점은 학습이 끝난 후 테스트 과정에서는 드롭 아웃을 사용하면 안된다는 점이다. 이번 실습에선 드롭 아웃을 적용한 모델과 적용하지 않은 모델의 차이를 보자. 드롭 아웃을 사용하기 위한 함수/라이브러리 tf.keras.layers.Dropout(prob) prob : 드롭 아웃을 적용할 확률 (0.1 ~ 0.5) i..

AI/MachineLearning

L1, L2 정규화(Regularization) 기법

L1 정규화 L1 정규화는 가중치(weight)의 절댓값에 비례하는 손실(loss)이 기존 손실 함수(loss function)에 추가되는 형태이다. TotalLoss=Loss+λw∑​∣W∣ L1 정규화는 모델 내의 일부 가중치를 0으로 만들어 의미있는 가중치만 남도록 만들어주고, 이를 통해 모델을 일반화시킬 수 있다. 다른 말로 Sparse Model을 만든다라고도 한다. L1 정규화를 적용하기 위해 사용하는 함수/라이브러리 tf.keras.layers.Dense(kernel_regularizer = tf.keras.regularizers.l1(ratio)) ratio : 가중치에 L1 정규화를 적용하는 비율 (0.001 ~0.005) L2 정규화 L2 정규화는 가중치의 제곱에 비례하는 손실이 기존 손..

향식이
'AI/MachineLearning' 카테고리의 글 목록