독일 연구소 - 독일 생활 정보, 유럽 여행, 독일어

728x90
반응형

독일 유학에서 AI 엔지니어들이 배우게 되는 과목에 대해서 알아보겠습니다. TU Berlin 베를린 공대를 기준입니다.

 

 

 

독일 유학 - AI 엔지니어 커리큘럼 ❘ 베를린 공대 석사 기준

 

 

 

우선 기초 과목으로 2가지 언어를 배웁니다.

선택과목이기 때문에, 아예 배우지 않아도 되고, 하나만 배워도 됩니다.

 

 

Python for Machine Learning

교수 학습 방법 설명
이 모듈은 하이브리드 형식을 취합니다. 한편으로는 강사가 일부 내용을 직접 지도하는 방식으로 진행합니다. 다른 한편으로는 학생들이 프로그래밍 패러다임과 관련 머신 러닝 문제에 대한 탄탄한 이론적 이해를 구축하면서 자율적이고 개별적으로 프로그래밍하는 법을 배웁니다. 구체적으로, 이 모듈은 약 9개의 강의와 9개의 튜토리얼 세션으로 구성됩니다. 일부 주에는 숙제가 포함됩니다. 숙제는 개별적으로 해야 하지만, 튜토리얼에서 필요한 경우 도움을 제공하고, 가능한 해결책은 숙제 마감일 이후에 논의됩니다.

 

과정 참여를 위한 바람직한 전제 조건:

학생들은 Python 또는 이와 동등하거나 그보다 낮은 추상화 수준을 가진 언어(예: R 제외)의 기본 프로그래밍 원리를 알고 있어야 합니다. 수업 시작 전에 가상 Python 환경을 설치하는 것을 권장합니다. Windows와 같은 운영 체제에서는 상당한 시간이 소요될 수 있습니다. 학생들은 기본적인 수학 원리를 알고 있어야 합니다. 예를 들어, 선형 대수에 대한 지식은 복잡한 텐서 연산의 구현을 이해하는 데 도움이 됩니다.

 

기본 프로그래밍과 선형대수는 컴퓨터공학/컴퓨터과학 학부과정 1학년 1학기에서 배웁니다.

 

독일 컴퓨터공학 석사 유학생이 꼭 알아야 하는 것 - 수학

 

독일 컴퓨터공학 석사 유학생이 꼭 알아야 하는 것 - 수학

그것은 바로 수학입니다. 한국에서는 미국의 영향을 많이 받아 실용 학문을 위주로 하며, 4년제 컴퓨터공학부를 졸업하면 대부분은 응용어플리케이션 개발자(백엔드/프론트엔드/데이터사이언

germanylab.tistory.com

 

학습 성과
학생들은 Python 프로그래밍에 대한 심도 있는 이론적 이해를 갖추고 있으며, Jupyter Notebook이나 디버거와 같은 표준 프로그래밍 도구를 사용하여 자율적으로 적용할 수 있습니다. 특히, 학생들은 Python 프로그래밍의 기본 원리, 즉 Python 구문과 함수형 및 객체 지향 프로그래밍의 고급 패러다임을 이해합니다. 이러한 기술을 고급 데이터 과학 및 머신 러닝 과제에 적용할 수 있으며, 여기에는 복잡한 텐서 연산을 효율적이고 간결하게 구현하고 시각화 방법을 구현하는 것이 포함됩니다.

콘텐츠
이 모듈은 Python을 다른 프로그래밍 패러다임(예: Julia 또는 C)과 비교하여 간략하게 설명합니다. Python 특유의 프로그래밍 원칙, 예를 들어 덕 타이핑(duck typing)이나 생성기 내포(generator comprehension)와 같은 관용적 구문("Pythonic" 구문)을 소개합니다. 학생들은 주로 Matplotlib 프레임워크를 사용하여 시각화 코드를 구현합니다. 이 모듈은 학습한 프로그래밍 기술을 머신 러닝(ML) 문제에 적용하는 방법을 가르치며, 여기에는 대표적인 ML 작업을 개념적으로 이해하는 것이 포함됩니다. 예를 들어, 이 모듈은 간결한 구문과 효율적인 계산을 보장하는 가속 프레임워크(예: NumPy 또는 PyTorch)를 사용하여 복잡한 텐서 연산(머신 러닝에서 종종 중요함)을 구현하는 방법을 가르칩니다. 또한 Jupyter 노트북과 같은 프로그래밍 환경 및 디버거와 같은 도구의 사용법을 가르치는데, 이는 시험에도 활용될 수 있습니다(해당 학기에 디지털 시험이 가능하다는 가정 하에).

 

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=41143&version=5

 

 

Julia for Machine Learning

교수 학습 방법 설명

모듈은 두 부분으로 나뉩니다. 학기 전반기에는 Julia 프로그래밍 언어와 머신 러닝 생태계의 패키지에 대한 기본을 가르치는 주간 강의가 진행됩니다. 이 강의를 바탕으로 매주 학생들이 개별적으로 풀어야 할 가이드 노트북 형태의 프로그래밍 숙제가 제공됩니다. 학기 후반기에는 학생들이 소그룹으로 나뉘어 원하는 프로그래밍 프로젝트를 진행하며 Julia에서 패키지를 개발하는 모범 사례를 배웁니다. 코드 리뷰 세션에서는 학기말 발표 전에 프로젝트에 대한 피드백을 주고받습니다.

 

참여 및 시험 요건 과정 참여를 위한 바람직한 전제 조건:

이 과정은 for 루프와 배열과 같은 일반적인 프로그래밍 개념에 대한 지식을 전제로 합니다. Julia 프로그래밍 언어에 대한 지식은 필요하지 않습니다. 기본적인 수학 개념에 대한 지식이 있으면 도움이 됩니다. 예를 들어, 선형 대수에 대한 지식은 배열 연산을 이해하는 데 도움이 됩니다.

학습 성과
학생들은 Julia 프로그래밍 언어를 사용하여 머신 러닝 알고리즘을 구현하고 적용할 수 있습니다. 또한, Julia 생태계에서 사용되는 기존 머신 러닝, 딥 러닝, 데이터 시각화를 위한 공통 패키지에 익숙합니다. 또한, 자동 미분과 자동 미분 패키지의 구현 방식을 깊이 있게 이해합니다. 또한, Julia 개발 모범 사례를 숙지하고 재현 가능하고 단위 테스트가 가능한 코드를 작성할 수 있습니다.

콘텐츠
과정 전반부에서는 학생들이 Julia 프로그래밍 언어의 기본 사항과 더 광범위한 Julia Machine Learning 생태계의 패키지를 학습합니다.- 고성능 배열 처리 및 선형 대수(LinearAlgebra.jl) - 표 형식 데이터 및 전처리 기능 작업(DataFrames.jl) - 시각화 및 플롯 생성(Plots.jl, StatsPlots.jl) - 기존 머신 러닝 알고리즘(MLJ.jl) - 자동 미분의 수학적 기본 사항 - Julia에서 자동 미분을 구현하는 차이점(ChainRules.jl, Zygote.jl, Enzyme.jl, ForwardDiff.jl, FiniteDifferences.jl) - 딥 러닝 모델 학습(Flux.jl, MLDatasets.jl) - 패키지 개발 및 과학 실험을 위한 일반적인 개발 워크플로(PkgTemplates.jl, DrWatson.jl) - Julia 개발, 프로파일링 및 디버깅을 위한 모범 사례(Debugger.jl, 후반부에는 학생들이 선택한 소규모 프로그래밍 프로젝트에 그룹으로 참여하여 다음 사항을 학습합니다. - 패키지 구조화 및 개발 - 패키지 테스트 작성 - 패키지 문서 작성 및 호스팅

 

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=41144&version=3

 

 

 

 

Machine Intelligence I

교수 학습 방법 설명
강의: 수업 내용을 전달하기 위해 학생들 앞에서 강의합니다.

연습: 신경망 기법의 수학적 유도 및 분석, 그리고 이러한 기법의 구현 및 실제 활용을 다루는 연습에 대해 논의합니다.


참여 및 시험 요건
과정 참여를 위한 바람직한 전제 조건 :
탄탄한 수학적 지식(선형 대수, 분석 및 확률 미적분 또는 통계; 엔지니어를 위한 수학 과정과 비슷한 수준)

기본 프로그래밍 기술(Python, Matlab, R 또는 Julia)

우수한 영어 구사 능력

 

학습 성과
수강생은 머신 러닝 및 인공지능에 사용되는 기본 개념, 이론적 토대, 그리고 가장 일반적으로 사용되는 알고리즘을 학습해야 합니다. 모듈을 완료한 후, 수강생은 다양한 패러다임의 강점과 한계를 이해하고, 실제 문제에 방법과 알고리즘을 정확하고 성공적으로 적용할 수 있어야 하며, 성능 기준과 지속가능성 및 공정성 문제를 인지하고, 해당 방법을 통해 얻은 결과를 비판적으로 평가할 수 있어야 합니다.

구체적으로, 수강생은 다음을 입증할 수 있어야 합니다.
1) 귀납적 학습 이론 및 방법에 대한 지식
2) 회귀 및 분류(패턴 인식) 문제에 대한 응용
3) 신경 정보 처리의 기본 개념에 대한 이해
4) 새로운 머신 러닝 기법 개발을 위한 이론적 기반에 대한 이해

콘텐츠
1) 귀납적 학습의 기초: 경험적 위험 최소화, 구조적 위험 최소화, 베이지안 추론
2) 학습 및 일반화: 기울기 기반 최적화, 과대적합-과소적합, 정규화, 회귀 및 분류 문제에 대한 응용
3) 인공 신경망(연결주의 뉴런, 다층 퍼셉트론, 방사형 기저 함수, 딥 네트워크, 순환 네트워크)
4) 기계 학습 알고리즘의 계산적 지속 가능성, 편향 및 공정성의 측면
5) 통계적 학습 이론 및 지원 벡터 머신
6) 확률적 방법 및 그래픽 모델: 불확실성 하에서의 추론, 신경망을 위한 베이지안 학습
7) 강화 학습(MDP, 가치 반복, 정책 반복, Q-학습)

 

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=40548&version=8

 

 

 

 

 

Machine Intelligence II

교수 학습 방법 설명
강의: 수업 내용을 전달하기 위해 학생들 앞에서 강의합니다.

연습: 신경망 기법의 수학적 유도 및 분석, 그리고 이러한 기법의 구현 및 실제 활용을 다루는 연습에 대해 논의합니다.


참여 및 시험 요건
과정 참여를 위한 바람직한 전제 조건 :
탄탄한 수학적 지식(선형 대수, 분석 및 확률 미적분 또는 통계; 엔지니어를 위한 수학 과정과 비슷한 수준)

기본 프로그래밍 기술(Python, Matlab, R 또는 Julia)

우수한 영어 구사 능력

학습 성과
수강생은 머신 러닝 및 인공지능에 사용되는 기본 개념, 이론적 토대, 그리고 가장 일반적으로 사용되는 알고리즘을 학습해야 합니다. 모듈을 완료한 후, 수강생은 다양한 패러다임의 강점과 한계를 이해하고, 실제 문제에 방법과 알고리즘을 정확하고 성공적으로 적용할 수 있어야 하며, 성능 기준을 숙지하고, 해당 방법을 통해 얻은 결과를 비판적으로 평가할 수 있어야 합니다.

구체적으로, 수강생은 다음을 입증할 수 있어야 합니다.
1) 신경 정보 처리의 기본 개념에 대한 이해
2) 비지도 학습(unsupervised learning) 방법에 대한 지식
3) 통계 모델링, 탐색적 데이터 분석 및 시각화 문제에 대한 응용

콘텐츠
1) 주성분 분석, 커널 PCA
2) 독립 성분 분석(Infomax, FastICA, 2차 블라인드 소스 분리)
3) 확률적 최적화
4) 클러스터링, 임베딩 및 시각화(중앙 및 쌍별 클러스터링, 자기 조직화 맵, 국소 선형 임베딩)
5) 밀도 추정, 혼합 모델, 기대 최대화 알고리즘, 은닉 마르코프 모델
6) 추정 이론, 최대 우도 추정, 베이지안 모델 비교

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=40549&version=8

 

 

머신러닝 1

교수 학습 방법 설명
IV는 강의(모든 참가자 앞에서 직접 강의 내용을 전달하는 방식)와 실습(실습)으로 구성됩니다. 실습은 개별 연습 문제로 구성됩니다.

 

참여 및 시험 요건
과정 참여를 위한 바람직한 전제 조건 :
프로그래밍 능력, 특히 선형대수, 해석학, 확률론을 포함한 수학에 대한 탄탄한 기초를 제공합니다. 

이 모듈은 학사 과정 학생에게도 적합합니다.

학습 성과
학생들은 머신 러닝의 핵심 방법론을 새로운 데이터에 독립적으로 적용할 수 있게 됩니다. 여기에는 분류, 회귀, 차원 축소, 군집화 방법이 포함됩니다. 또한, 본 모듈은 이러한 방법론을 더욱 발전시키고 이론적으로 분석할 수 있는 이론적 도구(확률 이론, 최적화 이론)를 제공합니다.

콘텐츠
확률 이론의 기초, 추정 이론(최대 우도법, EM 알고리즘).
머신러닝의 기본 방법: 차원 축소(PCA), 군집화, 지도 학습(최소 제곱 회귀, LDA, SVM, 능형 회귀, 가우시안 프로세스, 신경망).

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=40550&version=6

 

 

 

 

머신러닝 2

교수 학습 방법 설명
IV는 강의(모든 참가자 앞에서 직접 강의 내용을 전달하는 방식)와 실습(실습)으로 구성됩니다. 실습은 개별 연습 문제로 구성됩니다.

 

참여 및 시험 요건
과정 참여를 위한 바람직한 전제 조건 :
프로그래밍 능력, 특히 선형대수, 분석, 확률론에 대한 탄탄한 수학 기반. 머신러닝의 기초는 권장됩니다. 예를 들어 "머신러닝 1" 모듈 참여가 권장되지만, 탄탄한 사전 이론 지식이 있다면 필수는 아닙니다.

 

학습 성과
학생들은 특정 응용 분야(생물정보학, 컴퓨터 보안 등)에서 특정 머신러닝 방법론(분류, 회귀, 차원 축소, 클러스터링)을 적용하는 방법에 대한 심층적인 지식을 갖추게 되며, 이러한 방법론을 독립적으로 적용하고 더욱 발전시킬 수 있게 됩니다. 특히, 실질적인 성공에 필수적인 머신러닝의 여러 측면에 대해 잘 이해하게 됩니다.

콘텐츠
이 강의는 머신러닝의 고급 주제를 다룹니다. 특히 응용 분야에 중점을 둡니다. 머신러닝의 성공적인 응용 사례들을 논의하고, 각 사례의 특징을 집중적으로 살펴봅니다. 다루는 주제로는 반지도 학습, 부스팅 기법, 최적화 이론, 구조화된 데이터를 위한 핵심 기법, 그리고 그래픽 모델 등이 있습니다.
성공적인 응용 사례로는 생물정보학, 컴퓨터 보안, 텍스트 마이닝 등이 있습니다.

 

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=40551&version=5

 

 

 

 

딥러닝 1

교수 학습 방법 설명
이 모듈은 매주 강의와 매주 숙제로 구성됩니다.


참여 및 시험 요건
과정 참여를 위한 바람직한 전제 조건 :
공식적인 선수 과목은 없습니다. 단, 다변량 미적분학과 파이썬 프로그래밍에 대한 사전 지식이 필요합니다. 머신러닝에 대한 기본 지식 또한 바람직합니다.

학습 성과
최적화 및 정규화 측면을 포함한 신경망 및 딥러닝의 기초에 대한 이해. 실무에서 가장 널리 사용되는 딥러닝 아키텍처(예: 합성곱 신경망)에 대한 이해. 일반적인 딥러닝 프레임워크를 사용하여 신경망을 구현할 수 있는 능력.

콘텐츠
퍼셉트론, 다층 퍼셉트론, 활성화 함수, 손실 함수, 오차 역전파, 최적화 및 정규화 문제를 포함한 신경망의 기초. SGD, 모멘텀, RMSProp과 같은 일반적인 최적화 기법. 가중치 감소, 드롭아웃, 립시츠 제약 조건과 같은 일반적인 정규화 기법. 합성곱 신경망, 오토인코더, 순환 신경망과 같은 널리 사용되는 아키텍처 소개. PyTorch 딥러닝 프레임워크 소개.

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=41071&version=2

 

 

 

 

 

 

딥러닝 2

교수 학습 방법 설명
이 모듈은 매주 강의와 매주 숙제로 구성됩니다.


참여 및 시험 요건
과정 참여를 위한 바람직한 전제 조건 :
공식적인 선수 과목은 없습니다. 하지만 이 모듈은 딥러닝 1 모듈을 기반으로 합니다. 따라서 머신러닝과 신경망에 대한 기본 지식이 요구됩니다. 다변량 미적분, 확률론, 파이썬 프로그래밍에 대한 사전 지식이 있는 것으로 가정합니다.

 

학습 성과
미분 방정식, 군 이론, 고정점 반복 등 수학적 개념을 신경망에 적용하는 것을 포함한 고급 딥러닝 기법에 대한 이해. 실제 사용되는 고급 딥러닝 아키텍처(예: GAN, Transformer, 정규화 흐름, 등변 신경망)에 대한 이해. 일반적인 딥러닝 프레임워크를 사용하여 고급 신경망을 구현할 수 있는 능력.

콘텐츠
자기 주의, 등가 합성곱, 심층 평형 신경망, 생성적 적대 신경망, 신경 미분 방정식, 정규화 흐름과 같은 고급 기술을 다룹니다. 자기 지도 학습/자기 회귀 학습, 밀도 추정, 이상 탐지, 강화 학습과 같은 머신 러닝 기술을 신경망에 적용합니다. 증류, 양자화, 인수분해와 같은 신경망을 가속화하고 구축하는 접근 방식을 다룹니다.

 

https://moseskonto.tu-berlin.de/moses/modultransfersystem/bolognamodule/beschreibung/anzeigen.html?number=41072&version=2

 

 

 


 

 

독일 학사와 석사의 차이 - 컴퓨터공학/과학을 중심으로 설명

 

독일 학사와 석사의 차이 - 컴퓨터공학/과학을 중심으로 설명

이미 한국이나 해외에서 개발자로 일하고 있다면, 독일 IT시장에 바로 지원하는것이 가장 좋은 길입니다.독일 석사를 졸업한다고 해서 취업이 된다는 보장이 없습니다. 독일은 한국처럼 학위나

germanylab.tistory.com

 

 

 

독일 유학 TU Berlin 베를린공대 컴퓨터과학 informatik Computer Science 학사/석사 소개/지원방법 커리큘럼 | 한국에서는 컴퓨터공학

 

독일 TU Berlin(베를린공대) 컴퓨터공학 - (실제 컴퓨터과학/informatik) 학사/석사 소개/지원방법 커리

독일에서 학사와 석사의 의미독일은 학사 3년, 석사 2년으로 구분되어 있으며, 한국처럼 학사와 석사가 별개로 구성되어 있는 느낌 보다는, 한번 입학하면 5년제 커리큘럼의 완성으로 석사학위

germanylab.tistory.com

 

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
반응형
250x250