계산 그래프.. 딥러닝 책을 피면 항상 나올 수밖에 없는 녀석
그런데 막상 동적 정적이 바로 이해되지 않아 정리해보려한다. (이미 잘 아시는 분들께서는 다른 글을 읽으시거나 피드백 부탁드립니다.)
계산 그래프

딥러닝책을 보면 반드시 나오는 이녀석이 있다.
그냥 쉽게 계산 그래프는 연산 과정을 시각적으로 표현할 수 있고, 컴퓨터가 효율적으로 계산할 수 있도록 그래프 방식으로 표현하는 것
또한 그래프 방식을 사용함으로써 전의 값들을 저장할 수 있어 backpropagation이 가능한 것이 중요한 것 같다.
자 그래서 동적, 정적은 뭔 차인데?
말 그대로다.
동적은 그래프가 바뀔 수도 있는 것이고, 정적은 원모양 그대로 가는 것이다.

정적은 미리 다 정해두고 그거를 반복해서 쓰는 것이고, 동적은 정해두긴 하는데 매번 그래프를 새로 만들어 바뀔 수도 있다는 것이 차이점.
정리
정적 계산 그래프: 그래프를 사전에 정의하고 이를 계속 사용 (tensorflow 1.x 부터는 동적 지원)
장점: 전체 그래프를 알기 때문에 최적화 가능, 분산 학습에도 유리.
단점: 유연성이 부족함
동적 계산 그래프: 계산 그래프를 실행 시점에서 매번 새로 만듬 -> 중간에 변경 가능
장점: 유연성, 변동성
단점: 최적화가 정적보다 어려우며 리소스 사용이 증가할 수 있다.
| 유연성 | 낮음 | 높음 |
| 성능 최적화 | 용이 | 어려움 |
| 디버깅 | 어려움 | 용이 |
| 변동성 입력 처리 | 어려움 | 용이 |
| 사용 예시 | TensorFlow (1.x) | PyTorch |
비교
But 연구에서는 새로운 구조를 계속 시도하다보니 PyTorch가 선호됨.
'AI > 딥러닝' 카테고리의 다른 글
| [핸즈온머신러닝 11] 심층 신경망 학습 (0) | 2023.12.13 |
|---|---|
| [핸즈온머신러닝 | 10강] 케라스 사용법 + 인공 신경망 소개 (1) | 2023.12.11 |