본문 바로가기
HRDI_AI/[인공지능] 인공신경망 이론과 DNN, CNN 모델의 아키텍처 이해 및

2. 텐서플로우 딥러닝 구현 - 1

by Toddler_AD 2025. 12. 7.

2-1. 딥러닝 구현을 위한 API

  • 딥러닝 개발을 위한 언어와 프레임워크
    • Python
      • 주요 역할:
        • Python은 AI 개발에 가장 널리 사용되는 언어
        • 수많은 라이브러리와 프레임워크가 있어 AI 모델을 빠르고 효율적으로 개발할 수 있음
      • 유용한 라이브러리:
        • NumPy, SciPy: 수학 및 과학 연산 지원.
        • Pandas: 데이터 처리 및 분석.
        • Matplotlib, Plotly: 데이터 시각화.
        • TensorFlow, PyTorch: 딥러닝 프레임워크.
    • AI 개발 도구 및 프레임워크
      • TensorFlow
        • 주요 역할: Google에서 개발한 딥러닝 라이브러리로, 대규모 신경망을 구축하고 훈련시키는 데 사용.
        • 특징: 다양한 플랫폼에서 동작 가능, 높은 확장성.
      • PyTorch
        • 주요 역할: Facebook에서 개발한 딥러닝 프레임워크로, 연구와 상용화 모두에 적합함.
        • 특징: 동적 계산 그래프, 빠른 실험 가능.
      • Keras
        • 주요 역할: TensorFlow의 고급 API로, 신경망을 쉽게 설계하고 훈련할 수 있게 함.
        • 특징: 간결하고 직관적인 인터페이스.
      • Scikit-learn
        • 주요 역할: Python에서 많이 사용되는 머신러닝 라이브러리로, 다양한 머신러닝 알고리즘과 데이터 처리 도구를 제공함.
        • 특징: 분류, 회귀, 클러스터링 등 다양한 알고리즘 지원.
    • 딥러닝을 위한 개발 도구
      • Jupyter Notebook
        • 데이터 분석, 머신러닝 모델 개발에 널리 사용되는 대화형 개발 환경.
        • 실시간 코드 실행 및 시각화.
      • Anaconda
        • Python과 R을 위한 데이터 과학 배포판으로, 패키지 및 환경 관리를 간편하게 도와줌.
        • 여러 라이브러리 및 도구들의 설치 및 관리를 간소화함.
      • PyCharm
        • JetBrains에서 개발한 Python 전용 통합 개발 환경(IDE)으로 Python 개발에 최적화된 다양한 기능을 제공함
        • PyCharm은 로컬 개발 환경에서 안정적인 코드 작성과 디버깅에 초점을 둠
        • PyCharm은 대규모 프로젝트나 고급 기능(예: 코드 리팩토링, 디버깅)을 필요로 하는 경우 유리
        • Python 인터프리터를 설치해야 하며 필요한 라이브러리를 설치해야 함 
        • 프로젝트별로 가상환경이 제공되어 프로젝트간 라이브러리 버전 충돌 문제를 최소화 함
      • Google Colaboratory
        • 구글이 제공하는 무료 클라우드 기반의 Jupyter Notebook 환경
        • Python 코드를 브라우저에서 바로 실행할 수 있으며, 별도의 설치 없이도 인공지능 및 데이터 과학 프로젝트 진행할 수 있음
        • Colab은 클라우드 기반 환경에서 손쉽게 코드를 실행하고 AI 모델을 훈련하는 데 강점을 가짐
        • 딥러닝 모델을 빠르게 실험하고 클라우드 자원을 활용하고 싶을 때 적합
      • 기타
        • Kaggle Kernels, Microsoft Azure Notebooks, Amazon SageMaker Notebooks, IBM Watson Studio 등
  • 케라스와 파이토치
    • Keras
      • 높은 수준의 API를 제공함
      • 코드가 직관적이고 사용하기 쉬움
      • TensorFlow의 고수준 API로 통합되었음
      • TensorFlow 생태계를 잘 활용할 수 있음
    • PyTorch
      • 낮은 수준의 API를 제공
      • 더 유연하고 커스터마이징하기 좋음
      • 연구 커뮤니티에서 강력한 지지를 받고 있음
      • 연구 결과를 빠르게 구현할 수 있는 라이브러리나 도구가 많음

  • 내장된 학습용 데이터셋

  • Sequential

  • 서브클래싱

  • 활성화 함수

  • PyTorch의 손실함수

  • PyTorch의 옵티마이저

  • 학습과 예측

  • 학습 데이터셋

  • 학습

  • 예측

  • 모델 저장하고 불러오기