728x90
반응형

분류 전체보기 74

딥러닝 최신 용어정리 #2 CNN GNN 강화학습 과적합 등

Chapter 01 딥러닝의 기본 ​​ 05. 딥러닝의 부상 ​ 빅데이터가 나오면서 규칙기반 인공지능에서 학습기반 인공지능(IBM의 왓슨이 대표적)으로 패러다임이 전환되었다. 딥러닝에서 데이터 확보는 매우 중요하다. 또한 GPU를 활용하고 고성능의 컴퓨팅 자원을 통해 성공적인 인공지능을 구현할 수 있다. ​ ​ 06. 심층신경망 (Deep Neural Network) ​ 심층이라는 말은 다수의 은닉층을 구성한다는 것이다. 학습과정에서는 초기 가중치가 중요한데, 가중치가 많아질수록 신경망의 복잡도는 증가하고 손실함수의 최소값을 찾는 과정이 지역적인 최소값에 매몰될 가능성이 크다. 이런 단점을 극복하고자 초기 가중치를 얻기 위해 비지도학습을 적용하고 이후 지도학습을 수행한다. ​ 다수의 가중치는 과적합(Ov..

딥러닝 최신 용어정리 #1 퍼셉트론 엣지 손실함수 등

최근 라는 책을 읽으면서 정리한 용어를 올려본다. 딥러닝이라는 주제가 워낙 어렵기도 하고 나의 배경지식이 짧은 탓에 온전히 이해한 건 많지 않지만, 추후 개인적인 학습을 위해 정리해 보고자 한다. ​ ​ Chapter 01 딥러닝의 기본 ​ 01. 퍼셉트론과 엣지 Perceptron and Edge ​ 인공신경망에서 퍼셉트론은 신경세포(뉴런), 엣지는 신경세포를 연결하는 시냅스를 표현한 것이다. 퍼셉트론은 노드라고도 하며 엣지는 두 노드를 연결하는 가중치(Weight)라고도 표현한다. 인공지능의 학습과정은 최적의 weight를 찾는 행위이다. ​ 02. 인공신경망 Artificial Neural Network ​ 인공신경망의 가장 일반적인 형태는 다층 퍼셉트론 구조로서 입력층, 은닉층, 출력층으로 구성된..

[ ITIL 4 이해하기 ] 운영관리를 위한 프랙티스 1, 모니터링 및 이벤트 - ITIL Foundation

ITIL의 핵심은 사실 운영(operation)이다. 운영은 제품과 서비스가 종료되지 않고 살아있는 한 그리고 고객에게 계속 제공되는 한 계속 활성화 상태이다. 또한 고객과의 상호작용이 주로 운영의 영역에서 발생하기 때문에 고객은 다른 어떤 프랙티스보다도 이 운영에서의 서비스를 기억할 수밖에 없다. 운영 프랙티스는 서비스의 전체 시간 중 가장 많은 시간을 차지하며, 인력 면에서도 보통 가장 규모가 크다. 그리고 앞서 언급한대로 고객은 운영 단계의 성과를 통해 서비스에 대한 인식(perception)을 형성하는 경향이 있다. 운영의 이전 단계인 전략 수립, 설계, 구현, 전환이 모두 완벽하다면 사실 운영 역시 문제가 없을 것이다. 하지만 현실적으로 그런 일은 결코 있을 수 없다. 전략은 시간에 따라 변하고..

ITSM_ITIL 2022.09.03

클린 아키텍처 - 10장. ISP: 인터페이스 분리 원칙 Interface Segregation Principle

■ 10장 ISP: 인터페이스 분리 원칙 Interface Segregation Principle ​ User1이 op2와 op3을 사용하지 않음에도 이 두 메소드가 OPS에 포함되어 있으므로 User1은 OPS에 의존성을 가진다. op2 소스가 변경되면 User1도 재컴파일과 재배포를 해야 한다. ​ 이런 경우는 아래 그림과 같이 인터페이스로 분리하여 해결할 수 있다. ​ 자바와 같은 정적 타입 언어가 아닌 루비나 파이썬 같은 동적 타입 언어의 경우는 위와 같은 문제를 초래하는 import, use, include가 없기 때문에 소스코드 의존성이 아예 없으므로 재컴파일과 재배포가 불필요하다. 그래서 동적 타입 언어는 보다 유연하고 결합도가 낮은 시스템을 만들 수 있기 때문에 ISP를 아키텍처가 아닌 언..

클린 아키텍처 - 9장. LSP: 리스코프 치환 원칙 Liskov Substitution Principle

■ 9장 LSP: 리스코프 치환 원칙 Liskov Substitution Principle ​ 리스코프는 사람 이름이다. ( Barbara Liskov ) 바바라 리스코프 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 리스코프 치환 원칙이란, 자료형 S가 자료형 T의 하위형이라면, 프로그램에서 자료형 T의 객체는 프로그램의 속성을 변경하지 않고 자료형 S의 객체로 교체할 수 있어야 한다는 뜻이다. ​ ​ 위 설계는 LSP를 준수하는데, Billing 어플리케이션의 행위가 License 하위 타입 중 무엇을 사용해도 전혀 상관없기 때문이다. 즉, 의존성이 없다. 이들 하위 타입은 모두 License 타입을 대체할 수 있다. ​ ​ ​

클린 아키텍처 - 8장. OCP: 개방-폐쇄 원칙 Open-Closed Principle

■ 8장 OCP: 개방-폐쇄 원칙 Open-Closed Principle ​ 객체는 확장에는 열려 있어야 하고(개방), 변경에는 닫혀 있어야 한다.(폐쇄) 변경되는 코드의 양을 최소화 하기 위해서는, 서로 다른 목적으로 변경되는 요소를 적절하게 분리하고(단일책임원칙 SRP), 이들 요소 사이의 의존성을 체계화(의존성역전원칙 DIP)해야 한다. ​ ​ 위 그림에서 화살표 A -> B는 소스코드 의존성의 방향으로 A에서 B를 호출한다는 뜻이다. 컴포넌트 관계는 단방향으로만 이루어져야 하는데, 화살표의 방향은 변경으로부터 보호하려는 컴포넌트를 향하고 있다. A에서 발생한 변경으로부터 B를 보호하려면 A가 B에 의존해야 한다. (즉, A -> B) ​ 위에서 우측 상단의 Interactor는 업무규칙을 포함하므..

클린 아키텍처 - 7장. SRP: 단일 책임 원칙 Single Responsibility Principle

◆ Part 3 설계 원칙 Design Principles ​ 좋은 시스템은 깔끔한 코드로부터 시작되며 이를 가능하게 하는 아키텍처 원칙이 SOLID이다. 이 원칙의 목적은 중간 수준의 소프트웨어 구조를 잘 만드는 데에 있다. 중간 수준이라 함은 코드 수준보다는 조금 상위에서 적용할 수 있다는 말이며, 모듈과 컴포넌트 내부에서 사용되는 소프트웨어 구조를 정의하는 데 도움을 준다. ​ SOLID는 다음의 다섯 가지 원칙이다. ​ - SRP : Single Responsibility Principle / 단일 책임 원칙 - OCP: The Open-Closed Principle / 개방-폐쇄 원칙 - LSP: The Liskov Substitution Principle / 리스코프 치환 원칙 - ISP: T..

[ ITIL 4 이해하기 ] ITIL Practice 프랙티스 - ITIL Foundation

ITIL 4에서의 가장 큰 변화는 기존 Process와 Function 체계를 Practice 로 바꾼 것이라 할 수 있다. Process 체계가 큰 문제가 있었던 건 아니지만 이를 적용하고 사용하기 위한 러닝커브가 크다는 단점이 있었다. 또한 이 변화는 ITIL이 Agile이나 DevOps와 통합하기 위한 해결책이기도 하다. ITIL에서 프로세스는 입력을 출력으로 바꾸는 일련의 활동과 workflow 이며, 기능(Function)이란 이런 프로세스 활동을 수행하기 위해 리소스를 제공하는 팀 이라고 정의할 수 있다. 그러니깐 우리가 일반적으로 일고 있는 팀이란 것이 바로 Function으로서 프로세스 수행을 위해 만들어진 기능인 것이다. ITIL 4에서 practice는 프로세스와 기능이 통합된 형태로 ..

ITSM_ITIL 2022.08.30

클린 아키텍처 - 6장. 함수형 프로그래밍 Functional Programming

■ 6장 함수형 프로그래밍 Functional Programming ​ 함수형 프로그래밍은 사실 프로그래밍 그 자체보다 앞서 등장했다. 이 패러다임의 핵심은 람다 lamda 계산법으로서 알론조 처치 Alonzo Church 가 1930년대에 발명했다. ​ 함수형 언어에서는 변수가 변경되지 않는다. 변수의 불변성이 중요한 이유는 바로 경합조건 race condition, 교착상태 deadlock, 동시 업데이트 concurrent update 문제가 모두 가변변수로부터 발생하기 때문이다. 아키텍트는 당연히 이러한 동시성 concurrency 문제에 관심을 가져야 한다. ​ 서비스를 가변 mutable 컴포넌트와 불변 immutable 컴포넌트로 분리하여 어느정도 이 문제를 해결할 수 있다. 또한 이벤트 소..

클린 아키텍처 - 5장. 객체지향 프로그래밍 Object-Oriented Programming

■ 5장 객체지향 프로그래밍 Object-Oriented Programming ​ OO의 본질을 설명하기 위해 3가지 특성을 살펴보자. ​ 1. 캡슐화 사실 캡슐화는 C 언어에서 완벽하게 구현되었었고 오히려 C++에서 완벽한 캡슐화가 깨지게 되었다. 클래스의 멤버변수를 클래스 헤더 부분에 선언하도록 함으로써 해당 헤더파일(xxxx.h 같은)을 사용하는 측에서 멤버변수의 존재를 알 수 있기 때문이다. 따라서 OO가 강력한 캡슐화에 의존한다는 정의는 받아들이기 어렵다. ​ 2. 상속 OO 언어가 있기 전에도 상속을 흉내낼 수는 있었지만 OO 언어에서 확실히 상속을 편리하게 만든 건 사실이다. 게다가 다중 상속은 기존에 훨씬 어려웠다. 그래서 OO에 있어 캡슐화에 대해서는 0점, 상속에 대해서는 0.5점을 주..

반응형