필수 확인 정보

  • 채용기업SK 바이오팜
  • 채용인원0 명
  • 고용형태정규
  • 채용유형경력
  • 근무지역경기도

 

주요 업무

신약개발 Big-data AI 모델 개발 및 분석

 

[수행업무]      
 - OMICS 및 의생명정보/ 화합물 데이터를 활용한 인공지능 모델 개발    
 - 인공지능 모델을 이용한 약물의 잠재적인 타겟 혹은 바이오마커 분석 및 예측    
 - OMICS 및 의생명정보/ 화합물 데이터 분석 시스템 구축 및 관리 (수집/ 적재/ 처리)    
           
[자격요건]      
 - 학력 : 박사 선호(단, 학사/ 석사도 지원가능하며 관련 경력 보유 필수)    
 - 전공 : 생물정보학, 시스템생물학, 컴퓨터 공학/ 전산학/ 인공지능 관련 전공자    
 - 경력 : 최소 5~10년      
 - 머신러닝/ 딥러닝(Tensorflow, Pytorch, Keras 등) 연구 경력 보유 및 관련 논문 이해/ 활용 가능자    
 - 프로그래밍 언어 (Python, R 등)를 활용한 OMICS 데이터 통계 분석 기술 보유    
 - 빅데이터 분석 경험, 유전체/ 의생명 데이터 외 다양한 DB 활용 경험    
    
[근무지]      
 - 경기도 판교

 

 

자격 요건

우대
학력 : 학사~박사
모집전공 : 기타
언어 : 영어

영입 과정

서류 > 필기 > 면접[전공 및 인성]

기타

 

 

기타사항
[주요 일정] 
03/31 ~ 04/11 : 서류 접수    
04/15 ~ 04/18 : 필기 전형 
04/28 ~ 04/30 : 면접 전형 
 
* 석,박사 학위 소지자의 경우 학사를 포함한 학력 정보 전체 기입 필수    
* 써치펌과 SK그룹 채용 포털 중복 지원 불가(단, SK그룹 계열사간 중복 지원은 가능)  
* 각 전형일정은 상황에 따라 조정될 수 있음    
* 전공 및 인성 면접 개별 안내 예정

문의처
recruit.skbp@sk.com 

 

 

 

#SK바이오팜 채용 홈페이지

 

 

 

한국생명공학연구원 채용 홈페이지

[필수 확인 정보]

  • 채용기업 SK 바이오팜
  • 채용인원 0 명
  • 고용형태 정규
  • 채용유형 경력
  • 근무지역 경기도

[주요 업무]

     신약개발 Big-data AI 모델 개발 및 분석


[수행업무]
 - OMICS 및 의생명정보/ 화합물 데이터를 활용한 인공지능 모델 개발    
 - 인공지능 모델을 이용한 약물의 잠재적인 타겟 혹은 바이오마커 분석 및 예측    
 - OMICS 및 의생명정보/ 화합물 데이터 분석 시스템 구축 및 관리 (수집/ 적재/ 처리)    
     
[자격요건]      
 - 학력 : 박사 선호(단, 학사/ 석사도 지원가능하며 관련 경력 보유 필수)    
 - 전공 : 생물정보학, 시스템생물학, 컴퓨터 공학/ 전산학/ 인공지능 관련 전공자    
 - 경력 : 최소 5~10년      
 - 머신러닝/ 딥러닝(Tensorflow, Pytorch, Keras 등) 연구 경력 보유 및 관련 논문 이해/ 활용 가능자    
 - 프로그래밍 언어 (Python, R 등)를 활용한 OMICS 데이터 통계 분석 기술 보유    
 - 빅데이터 분석 경험, 유전체/ 의생명 데이터 외 다양한 DB 활용 경험    
    
[근무지]      
 - 경기도 판교

[자격 요건]

 필수
  학력 : 학사~박사

 우대
  모집전공 : 기타
  언어 : 영어

  영입 과정

  서류 > 필기 > 면접[전공 및 인성]

  기타


[주요 일정]
03/16 ~ 03/28 : 서류 접수   
04/01 ~ 04/04 : 필기 전형
04/14 ~ 04/21 : 면접 전형

* 석,박사 학위 소지자의 경우 학사를 포함한 학력 정보 전체 기입 필수   
* 써치펌, SK그룹 채용 포털 중복 지원 불가
* 각 전형일정은 상황에 따라 조정될 수 있음  

[문의처]
recruit.skbp@sk.com 

 

 

SK바이오팜 채용 홈페이지

한국식품연구원 21년도 제2차 정규직 직원 채용 공고

한국식품연구원은 과학기술정보통신부 산하 정부출연연구기관으로서 창조적 식품과학기술 연구를 통하여 국가산업발전과 국민의 건강한  삶의 향상에 기여할 창의적이고 도전적인 인재를 모집합니다.

1.        모집분야 모집인원

모집분야 / 세부직무

전공분야

 

 

 

연구직

식품과학기술

- 식품화학

 

√ 식품화학/가공/공학

·     식품 첨가물(보존료, 향료, 조미료 ) 소재 개발 연구

·     맞춤형 가정간편식 개발 연구

 

 

석 사 이 상

 

2

 

 

 

 

식품연구데이터

- 식품연구데이터 관리 및 분석

 

생물정보학, 컴퓨터학, 통계학, 데이터과학, 문헌정보학 관련분야

·   식품연구 데이터 표준화, 가공·정제·분석 및 응용기술 개발

·   데이터기반 R&D 방법론 개발

 

1

 

기술직

산업안전

- 산업보건관리

 

√ 무관

·   (산업보건관리) 산업보건 관리체계 확립 산업재해관리

·    (근로자 작업환경관리) 유해요인 조사 및 관리, 작업환경측정 및 평가·개선

 

무 관

 

1

2.        지원자격

주요내용

 

공통

§ 연구원 인사규정 11(결격사유)에 해당하지 않는

§ 병역의무 대상자는 군필 또는 면제자로서 해외여행에 결격사유가 없는

§ 국가연구개발사업 참여 제한이 없는

 

연구직

§ 아래의 논문 요건을 충족하는 박사 또는 석사 학위 취득자

-      박사(최근  3년간  관련  SCI(E)  논문  2  이상(주저자  교신저자))

-      석사(최근  3년간  관련  SCI(E)  논문  1  이상(주저자  교신저자))

 

기술직

§ 아래의 요건을 모두 충족하는

-      산업안전보건법 시행령 제21조에 따른 자격(산업위생관리 산업기사 이상, 간호사, 인간공학 기사, 산업보건지도사 ) 1이상 자격 취득

-      보건관리자 경력 3 이상

 

기타 우대사항

§ 관계법 및 원내 규정에 의거 국가보훈대상자, 장애인, 여성과학기술인,  지역인재(전북지역 대학 또는 고등학교 졸업자) 증빙 제출 시 우대

§ (연구직-식품연구데이터) 식품 또는 컴퓨터사이언스 전공자로 AI 유경험자

 

주요내용

 

§ (학위 기준일) 21 2

지원자격 관련 유의사항

§ (논문 기준일) 채용공고 접수 마감일로부터 3 이내

§ (경력 기준일) 채용공고 접수 마감일까지의 경력

§ (증빙 제출 철저) 원서접수 관련증빙을 미제출할 경우, 지원자격 우대사항 불인정

 

§ 공고 하단의 ‘기타 유의사항’ 필독

 

3.        근무조건 근무지

구분

주요내용

 

근무조건

§ 근무형태 : 합격자는 6개월간의 수습기간 평가를 거쳐 정규직으로 임용 (수습기간 동안의 처우는 정규직과 동일함)

§ 보수는 개인경력에 비례하여 산정-공공기관 경영정보공개시스템 알리오(www.alio.go.kr) 참조

근무지

§ 전라북도 완주군 이서면 농생명로 245 (전북혁신도시)

근무시기

§ 2021 6(예정)

※ 근무시기는 연구원 사정에 따라 변경될 수 있음

 

4.        전형절차, 배점, 합격기준

 

직종

전형구분

1단계

2단계

3단계

심사종류

( 배점)

합격기준

심사종류

( 배점)

합격기준

심사종류

( 배점)

합격기준

 

연구직

Ÿ 서류심사 (100)

Ÿ 60 이상

Ÿ 선발예정 인원의 10 배수 이내 고득점

서류전형 합격자에 한해 인성검사 실시

(참고용)

Ÿ 전공분야 적합성 향후 연구계획 발표(100)

Ÿ 60 이상

Ÿ 선발예정 인원의 3 배수 이내 고득점

Ÿ 심층면접 (100)

Ÿ 80이상 고득점

 

기술직

 

Ÿ 모집분야 실적 향후 업무수행계획 발표(100)

단계별 세부내용은 한국식품연구원채용지침참조(공공기관 경영공시 홈페이지 www.alio.go.kr 참조)

5.        세부 전형절차

전형

구분

주요내용

비고

 

1단계

연구직

§ 서류심사

- 모집분야와 전공 적합성 및 연구논문, 연구실적, 자기소개서 등

 

§ 인성검사 응시 , 2단계 전형 응시 불가

기술직

§ 서류심사

­ 모집분야 적합성 및 자기소개서 등

 

2단계

연구직

§ 전공분야 적합성 및 향후 연구계획 발표심사(10 이내)

§ 사전 제출

§ 현장 실시

기술직

§ 모집분야 실적 및 향후 업무수행계획 발표심사(10 이내)

3단계

공통

§ 개별 심층면접심사(30 이내)

§ 현장 실시

※ 해외거주 응시자에 대하여 2·3단계 비대면 전형 가능(단계별 합격자에 한하여 별도 안내)

채용 전형과 관련하여, 해외거주자의 국내 입국에 대한 항공료 미지급

 

6.        전형일정

구분

전형일자

합격자 발표

비고

공고 및 원서접수기간

출연() 공동채용

§ 2021.3.9.(), 14:00 ~ 3.24.(), 18:00까지

 

- 온라인 채용시스템 접수

1단계 전형

§ 서류심사 : 2021.3.25.() ~ 4.8.()

§ 2021.4.9.()

­ 인성검사 ID/PW 개별 통보

§ 인성검사 : 2021.4.10.() ~ 4.13.()

 

2단계 전형

§ 연구직(식품화학) 발표 심사

: 2021.4.14.()

­ 장소 : 한국식품연구원 대회의실

 

§ 2021.4.16.()

 

(발표자료 업로드)

- 2021.4.13.() 11:00까지

§ 연구직(식품연구데이터관리 분석), 기술직 발표 심사 : 2021.4.15.()

­ 장소 : 한국식품연구원 대회의실

 

3단계 전형

§ 연구직(식품화학) 심층면접 심사

: 2021.4.21.()

­ 장소 : 한국식품연구원 대회의실

§ 연구직(식품연구데이터관리 분석), 기술직 심층면접 심사 : 2021.4.22.()

­ 장소 : 한국식품연구원 대회의실

 

§  2021.4.23.()

 

 

기타

§ 신원 및 결격사유 조회, 신체검사

: 2021.4.26.() 5.14.()

 

 

§ 최종합격자 발표

§  2021.5.17.()

 

※ 상기 일정은 ‘한국시간’ 기준이며, 해당 일정 및 시험 장소는 연구원 사정에 의하여 변경될 수 있음

 

NCS기반 채용 직무기술서

1-2. 연구(품연데이): 품연데이      

채용분야 (채용직종)

 

연구

분류 체계

모집분야

식품연구데이터

세부모집분야

식품연구데이터 관리 및 분석

 

연구원 주요사업

§ 식품 기능성 구명, 신소재·신공정 연구개발, 식품·저장·유통·안전성 기술 연구 개발, 전통 식품의 세계화 연구개발, 식품분석·정보·표준화 기반 조성 연구개발, 정부·민간·법인· 단체 등과 연구개발 협력 기술용역 수탁·위탁, 중소·중견기업 관련 산업계 협력·지원과 기술사업화, 주요 임무 분야의 전문인력 양성 및 관련 기술정책 수립 지원

핵심업무

연구    표준,  분석    용기술  

데이터기반 R&D 방법론 개발

 

직무내용

연구분야별 연구데이터 수집 프로토콜 개발 표준화

데이터 관리시스템 구축 및 운영

인공지능 기술을 활용한 데이터 중심 식품 R&D 방법론 개발

데이터 융합 분석도구 시각화 도구 개발

전형방법

§ 1단계 서류전형 인성검사 2단계 전공분야 연구계획 발표 3단계 심층면접

임용

 

일반요건

연령

무관

성별

무관

 

교육요건

학력

석사 이상

전공

생물정보학, 컴퓨터학, 통계학, 데이터과학, 문헌정보학 관련분야

 

필요지식

데이터 관리시스템 구축 관련지식

데이터 관리 관련지식 (데이터 전처리, 큐레이팅 저장기술)

데이터 분석 관련지식 (기계학습 인공지능)

식품분야 연구의 이해와 연구데이터 관련지식

 

필요기술

식품연구데이터 관리 분석 시스템 구축을 위한 시스템 개발 기술

데이터 관리 기술 (표준화, 교육, 서비스 도구 제공)

대용량 데이터를 활용한 기계학습 기반 모델링 기술

 

직무태도

§ 창의적이고 도전적이며 책임감 있는 연구수행 자세와 프로젝트 목표를 명확히 파악하여 선택과 집중을 통해 연구 성과를 극대화하며 유연한 사고와 소통을 통하여 밝은 연구환 경을 조성하고 연구원 업무규정을 철저히 준수

필요자격

§ 박사: 최근 3년간 관련 SCI(E) 논문 2편이상(주저자 교신저자)

§ 석사: 최근 3년간 관련 SCI(E) 논문 1편이상(주저자 교신저자)

우대자격

§ 식품 또는 컴퓨터사이언스 전공자로 AI 유경험자

직업기초 능력

§ 의사소통능력, 수리능력, 문제해결능력, 자기개발능력, 자원관리능력, 의사소통 및 대인 관계 능력, 정보처리능력, 언어능력, 직업윤리

참고 사이트

§ www.kfri.re.kr www.ncs.go.kr

 

Chest X-Ray Medical Diagnosis with Deep Learning - ⑤ Prediction and Evaluation 

start

BioinformaticsAndMe

 

 


Chest X-Ray Medical Diagnosis with Deep Learning

     ① Import Packages and Function
     ② Load the Datasets
     ③ Model Development
     ④ Training
    ⑤ Prediction and Evaluation 

 

 

 

 

⑤ Prediction and Evaluation


: 테스트셋을 사용하여 모델을 평가

predicted_vals = model.predict(test_generator, steps = len(test_generator))

 

 

 

5.1 ROC Curve and AUROC


: ROC(Receiver Operating Characteristic) 곡선에서 AUC(Area Under the Curve)를 계산

: 곡선이 좌상단에 있을수록, 더 많은 면적이 갖고, 모델이 더 잘 수행되고 있음을 의미함

: util.py에서 제공하는 util.get_roc_curve 함수를 사용

auc_rocs = util.get_roc_curve(labels, predicted_vals, test_generator)

 

 

 

5.2 Visualizing Learning with GradCAM


: GradCAM 기술을 사용하여 병리학적 상태를 예측하기 위해, 이미지의 중요한 영역을 강조하는 히트맵을 생성

: 먼저 작은 Training 셋을 로드하고, 앞서 AUC 측정값이 가장 높은 4개의 클래스를 살펴볼 것

df = pd.read_csv("drive/MyDrive/nih/train-small.csv")
IMAGE_DIR = "drive/MyDrive/nih/images-small/"

# only show the lables with top 4 AUC
labels_to_show = np.take(labels, np.argsort(auc_rocs)[::-1])[:4]

: 몇 가지 특정 이미지들을 확인

util.compute_gradcam(model, '00008270_015.png', IMAGE_DIR, df, labels, labels_to_show)
# Expected output
Loading original image
Generating gradcam for class Cardiomegaly
Generating gradcam for class Mass
Generating gradcam for class Pneumothorax
Generating gradcam for class Edema

util.compute_gradcam(model, '00011355_002.png', IMAGE_DIR, df, labels, labels_to_show)

util.compute_gradcam(model, '00029855_001.png', IMAGE_DIR, df, labels, labels_to_show)

: P 값은 정답 클래스의 softmax probability를 의미함

 

 

 

 

#Reference

1) www.coursera.org/learn/ai-for-medical-diagnosis

2) github.com/vishrutskaushik/Chest-X-Ray-Medical-Diagnosis

 

 

 

 

Chest X-Ray Medical Diagnosis with Deep Learning - ⑤ Prediction and Evaluation

end

BioinformaticsAndMe

 

 

 

Chest X-Ray Medical Diagnosis with Deep Learning - ④ Training

start

BioinformaticsAndMe

 

 


Chest X-Ray Medical Diagnosis with Deep Learning

     ① Import Packages and Function
     ② Load the Datasets
     ③ Model Development
     ④ Training
    ⑤ Prediction and Evaluation 

 

 

 

 

④ Training


: Keras의 model.fit 함수를 사용하여 모델을 훈련

: 현재, 데이터셋의 작은 부분 집합(~1%)에 대해 Training 하고 있음

: 전체 데이터셋의 Training에는 상당한 시간이 소요되므로 여기에서 모델을 교육하지 않음

: 다음 섹션에서 사전 교육된 모델을 로드할 예정

: 그러나 아래 코드를 사용하여 Colab에서 로컬로 모델 학습을 연습 할 수 있음

history = model.fit_generator(train_generator, 
                              validation_data=valid_generator,
                              steps_per_epoch=100, 
                              validation_steps=25, 
                              epochs = 3)
 
plt.plot(history.history['loss'])
plt.ylabel("loss")
plt.xlabel("epoch")
plt.title("Training Loss Curve")
plt.show()

: 사전 훈련된 가중치를 모델에 로드

model.load_weights("drive/MyDrive/nih/pretrained_model.h5")

 

 

 

다음 분석

Chest X-Ray Medical Diagnosis with Deep Learning

    ⑤ Prediction and Evaluation

 

 

 

#Reference

1) www.coursera.org/learn/ai-for-medical-diagnosis

2) github.com/vishrutskaushik/Chest-X-Ray-Medical-Diagnosis

 

 

 

Chest X-Ray Medical Diagnosis with Deep Learning - ④ Training

end

BioinformaticsAndMe

 

 

 

Chest X-Ray Medical Diagnosis with Deep Learning - ③ Model Development

start

BioinformaticsAndMe

 

 


Chest X-Ray Medical Diagnosis with Deep Learning

     ① Import Packages and Function
     ② Load the Datasets
     ③ Model Development
     ④ Training
    ⑤ Prediction and Evaluation 

 

 

 

 

③ Model Development


: 이제 Model 교육 및 개발을 수행

: 하지만 실제로 신경망을 훈련하기 전에, class 불균형을 해소해야 함

plt.xticks(rotation=90)
plt.bar(x=labels, height=np.mean(train_generator.labels, axis=0))
plt.title("Frequency of Each Class")
plt.show()

: 위 그림에서 여러 병리에 따라 양성 사례의 유병률이 크게 다르다는 것을 알 수 있음

  →이러한 경향은 전체 데이터셋의 경향도 반영함

: 이상적으로는 균형 잡힌 데이터셋으로 모델을 훈련시켜, positive 및 negative 사례가 손실에 동등하게 기여하도록 함

 

 

 

Exercise 2 - Computing Class Frequencies


: 아래 함수를 통해, 각 데이터셋의 라벨에 대한 빈도를 계산

def compute_class_freqs(labels):
    """
    Compute positive and negative frequences for each class.

    Args:
        labels (np.array): matrix of labels, size (num_examples, num_classes)
    Returns:
        positive_frequencies (np.array): array of positive frequences for each
                                         class, size (num_classes)
        negative_frequencies (np.array): array of negative frequences for each
                                         class, size (num_classes)
    """    
    
    # total number of patients (rows)
    N = labels.shape[0]
    
    positive_frequencies = np.sum(labels, axis=0) / labels.shape[0]
    negative_frequencies = 1 - positive_frequencies

    return positive_frequencies, negative_frequencies

: 예제 테스트

labels_matrix = np.array(
    [[1, 0, 0],
     [0, 1, 1],
     [1, 0, 1],
     [1, 1, 1],
     [1, 0, 1]]
)
print("labels:")
print(labels_matrix)

test_pos_freqs, test_neg_freqs = compute_class_freqs(labels_matrix)

print(f"pos freqs: {test_pos_freqs}")

print(f"neg freqs: {test_neg_freqs}")

: 결과 출력

# Expected output
labels:
[[1 0 0]
 [0 1 1]
 [1 0 1]
 [1 1 1]
 [1 0 1]]
pos freqs: [0.8 0.4 0.8]
neg freqs: [0.2 0.6 0.2]

: 이제 training 데이터셋에 대한 빈도를 계산

freq_pos, freq_neg = compute_class_freqs(train_generator.labels)
freq_pos

# Expected output
array([0.02 , 0.013, 0.128, 0.002, 0.175, 0.045, 0.054, 0.106, 0.038,
       0.021, 0.01 , 0.014, 0.016, 0.033])

: 각 병리에 대하여, positive 또는 negative의 기여 비율을 나란히 시각화

data = pd.DataFrame({"Class": labels, "Label": "Positive", "Value": freq_pos})
data = data.append([{"Class": labels[l], "Label": "Negative", "Value": v} for l,v in enumerate(freq_neg)], ignore_index=True)
plt.xticks(rotation=90)
f = sns.barplot(x="Class", y="Value", hue="Label" ,data=data)

: 위 그림에서 보듯이, 양성 사례의 기여도는 음성 사례의 기여도보다 현저히 낮음

: 기여도가 동일하도록 수행하는 방법은 각 클래스별 가중치인 Wpos 및 Wneg를 곱하여, 전체 기여도가 동일하게함

pos_weights = freq_neg
neg_weights = freq_pos
pos_contribution = freq_pos * pos_weights 
neg_contribution = freq_neg * neg_weights

 

: positive, negative 기여도를 다시 그래프로 확인

data = pd.DataFrame({"Class": labels, "Label": "Positive", "Value": pos_contribution})
data = data.append([{"Class": labels[l], "Label": "Negative", "Value": v} 
                        for l,v in enumerate(neg_contribution)], ignore_index=True)
plt.xticks(rotation=90)
sns.barplot(x="Class", y="Value", hue="Label" ,data=data);

: 위 그림에서처럼 가중치를 적용되어, 각 클래스의 양수/음수 레이블이 손실 함수에 대해 동일한 기여도를 갖게됨

 

 

 

Exercise 3 - Weighted Loss


: 아래 weighted_loss 함수를 작성하여 각 배치의 가중 손실을 계산하는 손실 함수를 반환

: 다중 클래스 손실의 경우 각 개별 클래스의 평균 손실을 합산

def get_weighted_loss(pos_weights, neg_weights, epsilon=1e-7):
    """
    Return weighted loss function given negative weights and positive weights.

    Args:
      pos_weights (np.array): array of positive weights for each class, size (num_classes)
      neg_weights (np.array): array of negative weights for each class, size (num_classes)
    
    Returns:
      weighted_loss (function): weighted loss function
    """
    def weighted_loss(y_true, y_pred):
        """
        Return weighted loss value. 

        Args:
            y_true (Tensor): Tensor of true labels, size is (num_examples, num_classes)
            y_pred (Tensor): Tensor of predicted labels, size is (num_examples, num_classes)
        Returns:
            loss (Tensor): overall scalar loss summed across all classes
        """
        # initialize loss to zero
        loss = 0.0
                
        for i in range(len(pos_weights)):
            # for each class, add average weighted loss for that class 
            loss += -(K.mean( pos_weights[i] * y_true[:,i] * K.log(y_pred[:,i] + epsilon) + \
                                neg_weights[i] * (1 - y_true[:,i]) * K.log(1 - y_pred[:,i] + epsilon), axis = 0))
        return loss
    
       
    return weighted_loss

: 예제 테스트

sess = K.get_session()
with sess.as_default() as sess:
    print("Test example:\n")
    y_true = K.constant(np.array(
        [[1, 1, 1],
         [1, 1, 0],
         [0, 1, 0],
         [1, 0, 1]]
    ))
    print("y_true:\n")
    print(y_true.eval())

    w_p = np.array([0.25, 0.25, 0.5])
    w_n = np.array([0.75, 0.75, 0.5])
    print("\nw_p:\n")
    print(w_p)

    print("\nw_n:\n")
    print(w_n)

    y_pred_1 = K.constant(0.7*np.ones(y_true.shape))
    print("\ny_pred_1:\n")
    print(y_pred_1.eval())

    y_pred_2 = K.constant(0.3*np.ones(y_true.shape))
    print("\ny_pred_2:\n")
    print(y_pred_2.eval())

    # test with a large epsilon in order to catch errors
    L = get_weighted_loss(w_p, w_n, epsilon=1)

    print("\nIf we weighted them correctly, we expect the two losses to be the same.")
    L1 = L(y_true, y_pred_1).eval()
    L2 = L(y_true, y_pred_2).eval()
    print(f"\nL(y_pred_1)= {L1:.4f}, L(y_pred_2)= {L2:.4f}")
    print(f"Difference is L1 - L2 = {L1 - L2:.4f}")
# Expected output
Test example:

y_true:

[[1. 1. 1.]
 [1. 1. 0.]
 [0. 1. 0.]
 [1. 0. 1.]]

w_p:

[0.25 0.25 0.5 ]

w_n:

[0.75 0.75 0.5 ]

y_pred_1:

[[0.7 0.7 0.7]
 [0.7 0.7 0.7]
 [0.7 0.7 0.7]
 [0.7 0.7 0.7]]

y_pred_2:

[[0.3 0.3 0.3]
 [0.3 0.3 0.3]
 [0.3 0.3 0.3]
 [0.3 0.3 0.3]]

If we weighted them correctly, we expect the two losses to be the same.

L(y_pred_1)= -0.4956, L(y_pred_2)= -0.4956
Difference is L1 - L2 = 0.0000

 

 

 

3.3 DenseNet121


: 다음으로 Keras에서 로드한 후, 두 개의 레이어를 추가 할 수 있는 DenseNet121 모델을 사용

  *GlobalAveragePooling2D - DenseNet121에서 마지막 convolution 레이어의 평균을 얻음

  *Dense - 각 클래스에 대한 예측 logit을 얻기 위한 sigmoid 기능이 있는 layer

: compile 함수에서 loss 매개 변수를 지정하여, 모델에 대한 사용자 정의 손실 함수를 설정할 수 있음

# create the base pre-trained model
base_model = DenseNet121(weights='drive/MyDrive/nih/densenet.hdf5', include_top=False)

x = base_model.output

# add a global spatial average pooling layer
x = GlobalAveragePooling2D()(x)

# and a logistic layer
predictions = Dense(len(labels), activation="sigmoid")(x)

model = Model(inputs=base_model.input, outputs=predictions)
model.compile(optimizer='adam', loss=get_weighted_loss(pos_weights, neg_weights))

 

 

 

 

 

다음 분석

Chest X-Ray Medical Diagnosis with Deep Learning

    ④ Training

 

 

 

#Reference

1) www.coursera.org/learn/ai-for-medical-diagnosis

2) github.com/vishrutskaushik/Chest-X-Ray-Medical-Diagnosis

 

 

 

Chest X-Ray Medical Diagnosis with Deep Learning - ③ Model Development

end

BioinformaticsAndMe

 

 

 

Arrhythmia (부정맥)

start

BioinformaticsAndMe

 

 

 

 

 

What is an arrhythmia?


: 부정맥(arrhythmia)은 심장 박동의 비정상적인 타이밍 또는 패턴을 보이는 증상

: 부정맥이 있으면, 심장이 너무 빠르거나 너무 느리게 뛰는 불규칙한 리듬을 경험
: 일부 부정맥은 심각하지 않을 수 있으나, 경우에 따라 실신, 심부전, 급사 등을 유발할 수 있음

    →부정맥이 있다고 생각되면 의사와 상담이 필요

 

 

 

Heart Rhythms Depend on Electricity


: 정상적인 심장에서 전기 전도는 심장의 오른쪽 위에 있는 동방 결절(SA node; 박동 조율기)에서 시작

: 전기 신호는 심방과 심실 사이에 위치한 방실 결절(AV node)로 이동

: AV node는 일정 시간동안 신호를 지연시키며, 심실이 혈액으로 완전히 채워지도록함
: 심실이 채워지면 전기 전도가 His bundle로 빠르게 이동

: His bundle은 오른쪽과 왼쪽 묶음 가지로 나뉘어, 오른쪽과 왼쪽 심실로 전기 전달

: 전기가 터지면 심실이 수축하여 혈액을 몸으로 펌핑
: 일반적으로 심장의 전기 시스템은 분당 60~100회 박동함

    →이를 정상동조율(normal sinus rhythm)이라 지칭

: 운동을 하면 심박수가 분당 100회 이상으로 증가

: 사람의 최고 심박수는 220에서 나이를 빼서 계산할 수 있음

    예를 들어, 40세의 최고 심박수는 220 − 40 = 180

 

 

 

What are the symptoms of arrhythmia?


: 심장 부정맥은 다음과 같은 다양한 증상을 유발할 수 있음

  • Palpitations: a racing, skipping or fluttering sensation in your chest (두근 거림 : 가슴이 뛰거나 펄럭이는 느낌)
  • Dizziness or light-headedness (현기증 또는 어지러움)
  • Fainting (기절)
  • Low blood pressure (저혈압)
  • Chest pain (가슴 통증)
  • Shortness of breath (호흡 곤란)
  • Fatigue (피로)
  • Heart failure: heart can’t pump enough oxygenated blood through the body (심부전)
  • Cardiac arrest: heart stops beating (심장 마비)
  • Difficulty feeding (수유 곤란)

 

 

 

What are the different types of arrhythmias?


1) Palpitations (심계향진)

- 리듬이 없는 심장 박동으로 전기 신호가 동방 결절에서 발생하지 않을 때 생김

 

2) Supraventricular tachycardia (심실상빈맥)

- 심방 세동 : 심장 상반부의 여러 부위에서 빠르고 불규칙한 신호로 인한 심방의 비효율적인 수축

- 심방 빈맥 : 심장 상반부의 short circuit으로 인해 심실보다 훨씬 빠른 심방 박동

- 심방 조동 : 심장 상반부의 short circuit으로 인해 심방의 매우 빠른 박동 (분당 240~340회)

- 발작성 심실상 빈맥 (PSVT) : 심장의 추가 전기 경로로 인한 short circuit으로 인한 빠른 심장 박동

 

3) Ventricular tachycardia (심실 빈맥)

- 심실의 빠르고 비효율적인 수축

 

4) Bradycardia (서맥)

- 동방 결절 장애 또는 전기 전도 차단으로 인해 생기는 느린 심장 박동

 

 

 

What causes arrhythmia?


1) 심장 전기 전도 시스템의 선천성 이상

- 일부 환자는 심장의 상부와 하부를 연결하는 비정상적인 근육 섬유를 가지고 태어남

- 이 여분의 섬유질을 원인으로 나중에 발작성 심실상 빈맥 (PSVT)이 발생할 수 있음

 

2) 유전성 심장 질환

- 부정맥 유발성 우심실 이형성증 (ARVD)이 유전성 심장 질환의 예

- 이 유전 상태를 가진 환자는 정상적인 심장을 가지고 태어나지만, 시간이 지남에 따라 심장 근육은 지방과 흉터 조직으로 대체되어 부정맥을 유발할 수 있음

 

3) 후천적 습득

- 심장 마비로 인해 심장 근육의 일부가 scar로 변할 수 있음

- scar 조직은 short circuit 부위가 될 수 있으며, 심실 빈맥의 증상을 보임

 

4) 시간이 지남에 따라 변화

- 시간이 흐름에 따라, 결국 부정맥이 발생

- 가장 좋은 예는 심방 세동으로, 50 세 이전에는 드물지만 이후 급격히 증가

- 80세가 되면 10명 중 1명이 심방 세동을 겪고 있음

 

 

 

 

 

#Reference

1) www.hopkinsmedicine.org/health/conditions-and-diseases/arrhythmias

 

 

 

Arrhythmia (부정맥)

end

BioinformaticsAndMe

 

 

 

Ventricular Repolarization (심실 재분극)

start

BioinformaticsAndMe

 

 

 

 

 

Ventricular Repolarization (심실 재분극)


: 심실 심근의 재분극은 탈분극의 반대 방향으로 발생

     *심방은 탈분극과 재분극이 같은 방향으로 진행됨

: 탈분극은 심내막(endocardium)에서 심외막(epicardium)으로 진행 (아래 그림 A)

: 재분극은 심외막(epicardium)에서 심내막(endocardium)으로 진행 (아래 그림 B)

    →이로 인해, QRS complex와 T파가 같은 방향으로 새겨짐

A. 심내막에서 심외막으로 진행하는 심실 심근의 탈분극을 보여주는 그림

  -탈분극의 wave가 기록 전극을 향해 전진하기 때문에, QRS 복합체가 positive deflection이 됨

  -화살표는 탈분극 방향을 가리킴

B. 심외막에서 심내막으로 진행하는 심실 심근의 재분극은 보여주는 그림

  -재분극의 wave가 기록 전극에서 멀어지기 때문에, T파가 positive deflection이 됨

  -화살표는 재분극 방향을 가리킴

 

 

 

#재분극 T파가 Positive deflection을 보이는 이유

1. 재분극은 심외막에서 심내막으로 진행하므로 기록 전극 입장에서 (-) 방향

2. 재분극이 되면, 막전위가 떨어지므로 아래와 같이 (-) 방향

    → '1.Negative'의 '2.Negative' Positive

 

 

#Reference

1) doctorlib.info/cardiology/electrocardiography/7.html

 

 

 

Ventricular Repolarization (심실 재분극)

end

BioinformaticsAndMe

 

 

 

'Medicine > IMC' 카테고리의 다른 글

ST elevation (ST분절 상승)  (0) 2021.07.18
Arrhythmia (부정맥)  (0) 2021.02.18
Cardiac axis determination  (0) 2021.02.16
심장전도시스템 (cardiac conduction system) ②  (0) 2021.02.15
흉부유도 (Precordial lead)  (0) 2021.02.08

Cardiac axis determination

start

BioinformaticsAndMe

 

 

 

 

 

What is Cardiac Axis?


: 심장의 전기 활동 방향은 동방결절(SA node) → 방실결절(AV node)

: 이어서, 히스속(His bundle) 및 푸르키네섬유(Purkinje fiber)으로 퍼져 심실 수축을 유발

: 전기 활동 방향이 Lead를 향할 때마다, 해당 Lead에서 positive deflection을 보임

: 전기 활동 방향이 Lead에서 멀어질 때마다, 해당 Lead에서 negative deflection을 보임

: 심장 축(cardiac axis)은 전기 활동의 전반적인 방향 정보를 제공

 

 

 

 

Normal Cardiac Axis


: 건강한 사람의 경우 심장 축이 -30° ~ +90° 사이에 있을 것으로 예상

: 전기 활동의 전반적인 방향은 아래 그림 노란색 화살표

: 결과적으로 Lead I, II, III에서 positive deflection을 보임

: Lead II는 전체적인 전기 확산 방향에 가장 가깝게 정렬되므로, 가장 큰 positive deflection을 보임

: aVR은 심장의 반대 방향으로 정렬하므로(노란 화살표 반대), aVR에서 가장 큰 negative delfection을 보임

 

 

 

 

Right Axis Deviation (RAD)


: Right Axis Deviation(RAD; 오른쪽 축 편차)는 탈분극 방향이 오른쪽으로 왜곡되는 것을 포함 (+90º ~ +180º)

: RAD의 가장 흔한 원인은 right ventricular hypertrophy(우심실 비대)

: QRS파를 보면, Lead I에서 negative deflection이 되고, Lead aVF 및 Lead III에서 positive deflection이 됨

: RAD는 우심실 비대를 유발하기 때문에, 폐고혈압 상태와 관련될 수 있음

: 때때로, RAD는 키가 큰 사람에서도 발견될 수 있음

: RAD의 원인은 아래와 같음

  • Normal variant
  • Right bundle branch block
  • Right ventricular hypertrophy
  • Left posterior fascicular block
  • Dextrocardia
  • Ventricular rhythms (accelerated idioventricular or ventricular tachycardia)
  • Lateral wall myocardial infarction
  • Wolff-Parkinson-White syndrome
  • Acute right heart strain/pressure overload — also known as McGinn-White Sign or S1Q3T3 that occurs in pulmonary embolus

 

 

 

 

Left Axis Deviation (LAD)


: Left Axis Deviation(LAD; 왼쪽 축 편차)는 탈분극 방향이 왼쪽으로 왜곡되는 것을 포함 (-30° ~ -90°)

: QRS파를 보면, Lead III에서 positive delfection이 보임

: LAD는 일반적으로 전기 전도 이상으로 인해 발생함

: LAD의 원인은 아래와 같은데, 처음 3 개는 LAD를 보이는 ECG의 약 90%를 차지함

  • Normal variant
  • Left anterior fascicular block
  • Left ventricular hypertrophy (rarely with LVH; usually axis is normal)
  • Left bundle branch block (rarely with LBBB)
  • Mechanical shift of heart in the chest (lung disease, prior chest surgery, etc.)
  • Inferior myocardial infarction
  • Wolff-Parkinson-White syndrome with “pseudoinfarct” pattern
  • Ventricular rhythms (accelerated idioventricular or ventricular tachycardia)
  • Ostium primum atrial septal defect

 

 

 

 

 

#Reference

1) www.healio.com/cardiology/learn-the-heart/ecg-review/ecg-interpretation-tutorial/determining-axis

2) geekymedics.com/what-is-cardiac-axis/

 

 

 

 

Cardiac axis determination

end

BioinformaticsAndMe

 

 

 

+ Recent posts