[DAY1]

태양에서 세포까지 인공지능 활용 사례

  • 네트워크 목표함수 최적화하기
  • Objective function은 정의된 문제에 따라 설정
  • Optimize가 어떻게 network를 업데이트 하는가?

  • 태양에서 세포까지 극한 알바
    • 기존 알고리즘 교체
    • 딥러닝으로 풀기 가능해진 문제들
      • 거의 흑백에 가까운 사진 복원 (사진 감도 올리는 것보다 더 복원 잘 됨)
      • 네모로 가려진 부분 복원
    • 새로운 문제 정의
      • DeepMind Visual Relation 논문 : 6 프레임만 주고 200 프레임 예측
      • 벽 뒤에서 뭐 하는지 행동 예측
      • 바이올린과 기타를 같이 연주하는데, 한쪽만 선택하면 소리를 끄집어낼 수 있다.
      • 위성 사진으로 지상 사진 복원
  • 딥러닝의 효용성
    • 사람이 판독한 것보다 더 성능 좋으면 딥러닝으로 대체
      • 사진에서 논 부분 파티셔닝
    • 시뮬레이션을 굳이 하지 않고 딥러닝으로 대체
    • 정답이 없어서 검증 불가
    • 유의미한 시뮬레이터가 있는 경우
    • 새로운 특징 발견
      • 흑점 발견하는 훈련을 시켰는데, 데이터에 에러가 있는 것을 역으로 발견
  • 딥러닝 실무
    • 데이터셋 구축
      • 데이터를 얻기 위해 소요되는 시간과 비용
      • 데이터를 부풀리는 딥러닝 모델
      • 탱크 디텍션 모델 만들기 위해서 장난감 탱크, rc카로 데이터셋 활용
      • 계절성을 가지고 있으면 계절별로 데이터셋 수집
      • 데이터셋 만드는 검증 체계 필요 (도메인을 잘 알아야 함)
  • 케라스 코리아



딥러닝계의 블루오션, Apache MXNet

  • Deep Learning
    • Backpropagation
  • Apache MXNet
    • 아마존이 선택한 딥러닝 프레임워크
    • Apache 오픈 소스 프로젝트
    • MXNet 활용 사례 : 자율 주행을 위한 객체 탐지
      • (github.com/TuSimple/mx-maskrcnn)
        1) 유연한 프로그래밍 모델
        2) 다양한 언어 및 플랫폼 지원
        3) 멀티 GPU환경 최적화
        4) 모바일 환경으로 모델 배포
  • Gluon: 딥러닝 학습 인터페이스 API
    • Gluon Model Zoo : Neural Network model 제공
    • Keras2 백-엔드 지원
  • 활용 예제
    • Sentiment Analysis : 스탠포드 대학에서 만든 데이터셋



MXNet 소스 공헌 경험 및 활용 사례

  • Why MXNet
    • CTC Loss
    • Efficient Memory
    • Multi + Distributed GPUs
  • MXNet 커뮤니티



Unity ML-agent



[DAY2]

DevSecOps

  • 기존의 waterfall 방식에서의 보안 (빨간 박스)
  • WhiteHat Security : DevOps 방식을 보안이 따라가지 못하고 있다.
  • 전통적인 방식과 DevOps 방식은 문화적으로 충돌되는 부분이 많다.
  • Separation of Duty : 업무 분리 (운영과 개발 분리 등)
  • Dev + Ops : 개발과 운영을 합침
  • 전통적인 보안 문화를 어떻게 바꿀 것인가가 쟁점 : Curture Hacking (DevSecOps)

  • DevSecOps 구축 사례
    • 각각의 단계들이 진행될 때마다 독립적으로 툴 테스트
  • DevSecOps 오픈소스 사용
  • SANS DevSecOps Toolchain : Pre-commit - Commit(CI) - Acceptance - Production - Operation
    • Pre-Commit : version control 하기 전에 6가지 카테고리에서 보안 체크
      • 문서 작성 : 고려해야 할 요구 분석
      • IDE Security Plugins : IDE에 따라 보안 플러그인 사용해서 소스코드 작성 후 바로 사용
      • Pre-commit hooks : 커밋 하자마자 pre-commit에서 확인
    • Commit (Continuous Integration; CI)
      • Static code analysis : 사용 언어의 rule에 맞게 체크
      • Container security
      • Dependency management
    • Acceptance (Continuous Delivery) : 빌드해서 배포
    • Production (Continuous Deployment)
    • Operations



Kubernetes, Docker, Jenkins를 활용한 CI/CD 환경 구축

  • Kubernetes (k8s)
    • 마스터 서버가 있고, agent node들이 수백 개 있다.
    • Pod라고 정의된 개체가 있을 때 여러 docker가 있다.
    • Persistent Volumn이 Pod에 붙어 있는 형태
  • CI/CD
    • Fail fast : 문제가 있을 거면 빨리 문제를 일으켜라, 문제를 빨리 발견해서 빨리 개선
    • CI(Continuous Integration) : change가 commit되면 즉시 build & test
    • CD(Continuous Delivery/Development) : CI를 test, deploy 쪽으로 확장하여 release-ready 상태 보장 (페이스북의 경우 특정 연령대, 지역에 특정 버전이 활성화되어 반응을 살펴본다고 함)
  • Jenkins
    • 파이프라인을 코드로 자동화
  • VM 별로 하나씩 툴 설치하고, 환경 구축할 필요가 없어질 것이다. Ingress로 특정IP/jenkins 식으로 관리 가능
  • 제품, branch 별로 jenkins 파일 작성하면 형상관리 가능



AI 서비스를 위한 인프라 프레임워크 개발기

  • Ksb 인공지능 프레임워크



머신 러닝을 통한 소프트웨어 테스팅의 탐색 전략 자동생성 기술

  • Concolic Testing(Dynamic Symbolic Execution)
    • Software Testing 기법 중 하나 : software가 unsafe하기 때문 (HeartBleed)
    • 랜덤 테스팅 기술 향상 목적 : code coverage 향상
    • Concrete state(변수), Symbolic state, Path condition 필요
    • 문제 : Path Explosion
  • Open-Source Tool : ParaDyse



From Backend.Ai to AIN: The Future of Cheaper, Faster, and Safer AI Development>

  • Backend.AI - 모두를 위한 계산 인프라 매니저
  • Callosum RPC - Backend.AI를 위한 네트워크 계층
  • AI Network - Backend.AI를 위한 인터넷



[후기]

  • 태양에서 세포까지 인공지능 활용 사례에 신기한 예시들이 많아서 흥미로웠다.
  • Unity ML Agent 코딩하는 게 신기했다. 쉽게 코딩할 수 있다고 하셨는데 과연…? 한양대 대학원생이 자율주행 강화학습에 사용한 예시를 발표했는데 발표 스타일이 인상에 남았다.
  • DevOps 개념을 처음 알게 되었다. 워낙 기술이 빠르게 발전해서 조금만 게을러도 그때그때 따라가기가 쉽지 않을 것 같다.
  • 시간이 흐를수록 점점 집중력을 잃었다…★