본문 바로가기

Computer Science35

네트워크 기초 정리 노트 네트워크: 노드들이 연결된 통신망 *노드: 네트워크에 속한 장비 인터넷: 세상에서 가장 큰 네트워크 (이 통신망을 통해서 웹서비스가 되는데 world wide web) 인터넷 != www 크기에 따른 분류 LAN (Local Area Network) : 지역끼리 묶은 통신망 WAN (Wide Area Network) : 멀리있는 지역, 여러개의 LAN을 연결시킨것 MAN (Metropolitan Area Network) 형태에 따른 분류 Star: 중앙에 모든 장비가 연결됨 (가운데 장비 고장나면 통신 안됨, 집 공유기, LAN 대역 구성할때 자주 사용 Mesh: 그물 형태 Ring Bus 혼합: 실제 인터넷 형태 통신 연결에 따른 분류 유니캐스트 : 1:1 통신 멀티캐스트: 1:N 통신 브로드캐스트: .. 2021. 1. 24.
천체의 펄서 예측 신경망 재현율 실제양성 + 거짓음성: 즉 분류기 f가 실제값이 True인 샘플에 대해서 내린 모든 판단의 경우의 수 중에서 실제 정답의 비를 의미한다. 정밀도 분류기 f가 실제값이 True인 샘플에 대해서 내린 모든 판단의 경우의 수 중에서 실제 정답의 비를 의미한다. 정확도 모든 샘플에서 정확히 분류한 샘플의 수가 차지하는 비율 F1 재현율과 정밀도의 조화평균 데이터 균형 전 결과 데이터를 균형맞췄을때 값이 왜 이렇게 변화하는지 서술 펄서 예측 데이터셋의 데이터들은 90.8%정도만 일반 별이고 9.2%만 펄서이다. 이 떄문에 무조건 펄서가 아니라고 답하는 방법만으로 90%이상의 정확도를 쉽게 달성할 수 있다. 그래서 데이터 균형이 필요하다. 데이터 셋에서 별과 펄서가 비슷한 수가 되도록 데이터 비율을 바꾸어 .. 2020. 9. 28.
회귀 분석: 전복의 고리 수 추정 신경 파라미터학습 과정 중에 끊임없이 변경되어 가면서 퍼셉트론의 동작 특정을 결정하는 값들을 파라미터라고 한다.가중치편향결국 딥러닝 학습 목표는 문제 풀이에 적합한 파라미터 값의 조합을 구하는 것이다.텐서다차원 숫자 배열딥러닝에서 텐서가 중요한 이유는 반복문 대신 텐서를 이용해 처리하는 편이 프로그램도 간단하고 처리속도도 높기 때문 (파이썬 인터프리터가 반복문보다 텐서 연산을 더 효육적으로 처리)미니배치신경망이 여러 데이터를 한꺼번에 처리하는 것데이터 처리의 효율을 높여주며 개별 학습 데이터의 특징을 무시하지 않으면서 특징에 너무 휘둘리지 않게 해줌에포크학습 데이터 전체에 대한 한 차례 처리하이퍼 파라미터에포크 수나 미니배치 크기처럼 학습 과정에서 변경되지 않으면서 신경망 구조나 학습 결과에 영향을 미치는 고.. 2020. 9. 23.
📡 Wireshark Lab #1 네트워크 프로토콜에 대해 이해하는 가장 좋은 방법 방법은 실제로 동작하는 프로토콜을 가지고 놀아보는 것이다. 두 프로토콜 엔티티 사이에 교환되는 메시지를 관찬하고 세부적으로 프로토콜 operation과 특정 프로토콜이 어느 동작을 하게 만들고, 결과를 관찰해 보며 프로토콜에 대해 이해할 수 있다. 이 과정은 가상화된 시나리오를 통하거나 또는 실제 네트워크 환경 예를 들어 인터넷에서 해볼 수 있다. 이번 wireshark lab 에서는 다양한 네트워크 어플리케이션에서 다양한 시나리오를 통해 네트워크를 관찰한다. Packet Sniffer basic tool for observing the messages exchanged between executing protocol entities. 이름에서 알 수 있.. 2020. 9. 22.
회귀분석: 전복의 고리 수 추정 신경망 단층 퍼셉트론 신경망 구조 뉴럴 네트워크로 표현한 회귀분석. (Linear 하다.) 가장 기본적인 신경망 구조 일련의 퍼셉트론을 한 줄로 배치 입력 벡터 하나로부터 출력 벡터 하나를 단번에 생성 입출력 벡터 입력벡터: x = (x1,x2,x3,x4) 출력벡터: y = (y1,y2,y3) 퍼셉트론 열 p1,p2,p3 출력 벡터 크기만큼의 퍼셉트론 배치 가중치(weight, parameter) 입력 벡터와 퍼셉트론 사이를 완전 연결 [입력벡터크기, 퍼셉트론 개수] 형태의 행렬 편향(bias , constant) 퍼셉트론 별로 가산되는 스칼라 값 [퍼셉트론 개수] 형태의 벡터 텐서 다차원 숫자 배열 정도로 이해해도 무방 스칼라, 벡터 행렬: 각각 0차원, 1차원, 2차원 텐서 텐서 연산 파이썬의 numpy 라.. 2020. 9. 16.
XOR을 위한 다층 퍼셉트론 XOR 퍼셉트론 1943년 신경과학자 Warren S McCulloch 와 논리학자 Walter Pitts는 하나의 사람 뇌 신경세포를 하나의 이진(Binary)출력을 가지는 단순 논리 게이트로 설명. 여러개의 입력 신호가 가지돌기에 도착하면 신경세포 내에서 이들을 하나의 신호로 통합하고 통합된 신호값이 입계값을 초과하면 하나의 단일신호가 생성되며 이 신호가 축삭돌기를 통해 다른 신경세포로 전달하는 것으로 이해함. 이렇게 단순화 된 원리로 동작하는 뇌 세포를 MCP뉴런이라고 부름 이 MCP뉴런 모델을 기초로 퍼셉트론 학습 규칙이라는 개념을 고안하게됨 MCP뉴런이 출력신호를 발생할지 안할지 결정하기 위해, MCP뉴런으로 들어오는 각 입력값에 곱해지는 가중치 값을 자동적으로 학습하는 알고리즘을 제안 *활성함.. 2020. 9. 11.
Computer Graphics System 컴퓨터 그래픽이란 컴퓨터그래픽이란: 그림, 영상을 만들어 내는 것 William Fetter 라는 보잉에서 근무하는 엔지니어가 만든 용어 Computer Graphic -> 비행기 설계할 때 사용함 CGI: Computer Generated Imagery 컴퓨터 그래픽의 주제 Sprite Graphics: 2D image or animation developer.apple.com/spritekit/ SpriteKit - Apple Developer SpriteKit The SpriteKit framework makes it easy to create high-performance, battery-efficient 2D games. With support for custom OpenGL ES shaders.. 2020. 9. 8.
Computer Graphic intro 2 컴퓨터 그래픽스란 그래픽이란 그림을 그리는 것이다. 컴퓨터 그래픽은 그림을 컴퓨터 안에서 그리는 것 어떤 이미지를 만드는 일련에 행위에 대한 연구 굉장히 두루뭉실하고 포괄적이다. The Study of creating, manipulating, and using visual images in the computer Using a computer as rendering tool for the generation and manipulation of image is called computer graphics image synthesis: 이미지를 만드는 것 컴퓨터 그래픽스에서 그림을 그릴때 고려되는 요소 그림을 그리는 대상에 카메라가 있다고 가정함 카메라를 들고 피사체를 향해 서면 맺혀서 들어오는 상은 무한.. 2020. 9. 3.
[Computer Network] Protocol Architecture Last Class computer networks -> Digital Network internet ip address data packet AP (memory + CPU) WAN: Wide Area Network SK Telecom LGU+ KT WAN node 에서 packet 이 AP 로 들어온다. packet은 [source address | destination address | data] 로 구성된다. AP에서는 CPU가 packet을 처리하고 메모리에 저장된다. sub network들은 각자 ip주소와 port 가 있다. need to decide where to go (what port) - Routing [port | ip] address is located in memory (like.. 2020. 9. 3.
인공지능 개론 수업공지 이번주 다음주 비대면 수업 레포트 10개 나갈 예정 (프로그램 주고 학습 데이터 다 줄꺼임, 파이썬만 쓸 수 있으면 바로 구현하면 됨) 결과는 모든 사람이 똑같이 나올건데 여러가지 테크닉 사용해서 성능을 올리면됨 기본 코드 실행하면 기본점수, 성능에 따라 차등 강의와 과제는 별도로 움직임 파이썬 날코딩으로 알고 짜는 딥러닝 책 참고하면됨 심층학습의 기본적인 컨셉을 코드로 배울 예정 다다음주 부터는 수업 대면, 비대면 반반 씩 데이터 주어지면 70 training 15 validation 15 test data 문제를 푸는 tool로써 AI 가 아닌 인공지능의 기본이론을 전통적인 기법부터 해서 배울 예정 개념적으로 문제를 접근하지 않으면 그냥 문제를 푸는 도구일뿐 개념을 익혀야 40대때 PM이 될.. 2020. 9. 2.
Computer Graphics Intro Introduction to computer graphics 6203 학번 홀/짝으로 대면 수업 90년대 이전: 화면에 그림을 어떻게 표현할 것 인가 (2D) 90년도 이후: 그냥 그림이 아니라 삼차원 (3D) 물체를 어떻게 표현할 것인가. 3차원 그래픽을 편리하게 구현할 수 있는 많은 API 가 개발됨 그게 OpenGL 임 이 API를 사용해서 3D를 편리하게 구현했고 컴퓨터 그래픽스의 초첨이 3차원으로 넘어옴 수업목표 어떠한 것들로 그래픽을 누가 어떤작용을 해서 화면에 나타나는 것인가 이해가 목표 그렇게 표현되는 객체들을 OpenGL 을 가지고 어떻게 만들 것이냐 OpenGL 초창기엔 C/C++에 임베드 해서 사용했는데 이번학기에는 파이썬 기반으로 사용할 예정 컴퓨터 그래픽스 상황 컴퓨터 그래픽스의 .. 2020. 9. 1.
Computer Networks Intro Computer Network computer: SmartPhones, AP(Access, point), Printer, PC which means consists of CPU, Memory, Storage(optional) Network: Similar to Graph(Vertex + Edge) in network Vertex -> Node Edge -> link Networks: A set of Networks Two kinds of Link Wireless Network Wired Network (LAN) Different types of networks: Heterogeneous network Computer Networks Example This Subject will focus on Compu.. 2020. 9. 1.
Booth Algorithm 2020. 6. 23.
컴퓨터 구조 용어 정리 1. An instruction cycle includes the following stages: Fetch, execute, and interrupt. 2. The ALU is that part of the computer that actually performs arithmetic and logical operations on data. 3. Among registers such as PC, IR, MBR, MAR, IR holds the last instruction fetched. 4. In a hardwired implementation the control unit is essentially a state machine circuit and its input logic signals are t.. 2020. 6. 22.
🌌운영체제 구조 운영체제 역할 프로그램이 실행되는 환경을 제공해 준다. 운영체제가 가지는 목표 제공하는 서비스 사용자와 프로그래머에게 제공하는 인터페이스 시스템 구성요소와 그들의 상호연결 운영체제 구조 운영체제 서비스 사용자 인터페이스 제공 프로그램 실행 입출력 연산 파일 시스템 조작 통신 오류탐지 자원할당 기록작성 보호와 보안 시스템콜 운영체제에 의해 사용가능한 서비스에 대한 인터페이스를 제공 시스템 콜을 부르는 것 보다 API에 따라 프로그래밍 하는걸 선호하는 이유 프로그램 호환성 : 같은 API를 지원하는 어느 시스템에서건 컴파일 되고 실행될 수 있다. 시스템 콜은 자세한 명세가 필요하고 프로그래머가 작업하기 어렵다. RTE: 실행시간 환경 시스템 콜에 대한 연결고리를 하는 시스템 call Interface를 제공.. 2020. 6. 17.
🚗Process 프로세스란 실행 중인 프로그램이며 프로세스의 현재 활동 상태는 프로그램 카운터와 다른 레지스터로 나타난다. 현대 컴퓨팅 시스템의 작업 단위이다. *프로그램: 명령어 리스트를 내용으로 가진 디스크에 저장된 파일 *프로세스 자체가 다른 개체를 위한 실행 환경으로 동작할 수도 있다. 프로세스의 메모리 레이아웃 스택 - 함수를 호출할 때 임시 데이터 저장장소(함수 매개변수, 복귀주소, 지역변수) (아래로 메모리 확장됨) (스택과 힙 메모리가 만나면 안됨) (위로 메모리 확정됨) 힙 - 프로그램 실행 중 동적으로 할당되는 데이터 데이터 - 전역변수 텍스트 - 실행코드 프로세스 상태 준비 실행 대기 종료 프로세스 제어 블록 PCB 운영체제의 프로세스를 나타내는 커널 데이터 구조 프로세스 상태 프로그램 카운터 CPU.. 2020. 6. 16.
🥓Thread 스레드란 : CPU 사용의 기본 단위를 나타내며 동일한 프로세스에 속하는 스레드는 코드 및 데이터를 포함하여 많은 프로세스 자원을 공유한다. 멀티 스레드 응용 프로그램의 이점 응답정 자원공유 경제성 확장성 병행성과 병렬성 병행성: 단일 CPU가 있는 시스템에서 여러 스레드가 진행 중일 경우 병렬성: 멀티 코어 시스템에서 여러 스레드가 동시에 진행 중인 경우 다중 스레드 응용 프로그램 설계 도전과제 작업 분할: 스레드별 작업을 분할하는 기준 모호 균형 조정: 스레드간 작업량이 균등해야함 서로 다른 스레드 간 데이터 분할 데이터 종속성 식별 테스트 및 디버깅 어려움 데이터 병렬 처리 vs 작업 병렬 처리 데이터 병렬 처리: 동일한 데이터 부분 집합을 다른 컴퓨팅 코어에 분산시키고 각 코어에서는 동일한 연산 .. 2020. 6. 16.
🚀CPU 스케줄링 알고리즘 CPU 스케줄링이란? 준비큐에서 대기 프로세스를 선택하고 CPU를 할당하는 작업 디스패처에 의해 선택된 CPU가 프로세스에 할당된다. 선점 vs 비선점 기법 선점 : CPU를 프로세스로 부터 뺏을 수 있는 경우 비선점: 프로세스가 자발적으로 CPU 제어를 포기하는 경우 거의 모든 최신 운영체제가 선점적이다. 스케줄링 알고리즘의 평가기준 CPU 이용률 처리량 총 처리시간 대기 시간 응답 시간 스케줄링 알고리즘 선입 선처리 스케줄링(FCFS) + 가장 간단한 스케줄링 알고리즘이다. - 매우 긴 프로세스를 기다리게 할 수 있다. 최단 작업 우선 스케줄링(SJF) + 최적이며 평균 대기시간이 가장 짧다. - 다음 CPU 버스트의 길이를 예측하기 어려워 구현하는게 어렵다. 라운드 로빈 스케줄링(RR) : CPU를.. 2020. 6. 16.
CA & CO Chapter 20 practice problem 20.2 Show the micro-operations and control signals in the same fashion as Table 20.1 for the processor in figure 20.5 for the following instructions: Load Accumulator t1: MAR 2020. 6. 11.
CA & CO Chapter 10 practice problem Given x = 0101 and y = 1010 in twos complement notation (i.e., x = 5, y = -6), compute the product p = x * y with Booth's algorithm. A Q Q(-1) M 0000 1010 0 0101 Initial 0000 0101 0 0101 Shift 1011 1101 0101 1010 0 1 0101 0101 A 2020. 5. 23.
CA & CO Chapter 2 성능문제 마이크로 프로세서 기반 시스템들의 성능을 필요로 하는 응용들 영상처리 3차원 렌더링 음성인식 화상 회의 멀티미디어 저작 파일들에 대한 음성 및 비디오 주석 시뮬레이션 모델링 마이크로 프로세서의 속도 프로세서 속도 향상을 위한 기술 파이프라이닝 : 프로세서는 여러개의 명령어들을 동시에 서로 다른 단계를 수행함 으로 써 다수의 명령어들을 동시에 실행 할 수 있다.프로세서는 동시에 처리하는 파이프의 모든 단계들을 가진 개념적 파이프 속으로 데이터나 명령어들을 이동시킴으로써 연산을 중첩시킨다. 분기 예측 : 프로세서는 소프트웨어를 미리 살펴보아 어떤 분기들 혹은 명령어 그룹들이 다음에 처리될 것인 지를 예측한다. 필요한 명령어들을 미리 인출하여 버퍼에 저장해둠으로써 프로세서가 계속 일을 할 수 있게 한다. 잠재.. 2020. 5. 2.