[2014 CodeEngn Conference 10] 노용환 - 디버거 개발, 삽질기GangSeok Lee2014 CodeEngn Conference 10
MS 에게 속았어요
Windows 운영체제가 지원하는 디버거 지원 기능들과 브랜치 트레이서를 구현하기 위한 몇 가지 방법들을 소개하고, Windows 커널에 이미 구현되어있는 하드웨어 기반 브랜치 트레이서 코드 분석과 여기에 존재하는 의도된(?) 버그를 살펴본다.
http://codeengn.com/conference/10
http://codeengn.com/conference/archive
spring data jpa 간단한 튜토리얼라한사 아github : https://github.com/arahansa/learnspringdatajpa
스프링 데이터 Jpa 간단한 튜토리얼 입니다. 초보용^^;
스프링 부트, 메이븐..
내용은 간단한 매핑, CRUD, 페이징, 스프링 부트조금.
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)내훈 정Easy to understand review of nature of the Lock-free algorithm.
작년에 KGC2013에서 했던 내용의 업데이트 버전임. C++11에 맞추어 업데이트 되었음.
What is Texture.pdfDong Heon ChoThe document discusses texture analysis in computer vision. It begins by asking what texture is and whether objects themselves can be considered textures. It then outlines several statistical and Fourier approaches to texture analysis, citing specific papers on texture energy measures, texton theory, and using textons to model materials. Deep convolutional neural networks are also discussed as being able to recognize and describe texture through learned filter banks. The concept of texels is introduced as low-level features that make up texture at different scales from edges to shapes. The document hypothesizes that CNNs are sensitive to texture because texture repeats across images while object shapes do not, and that CNNs act as texture mappers rather than template matchers. It also questions whether primary visual cortex
spring data jpa 간단한 튜토리얼라한사 아github : https://github.com/arahansa/learnspringdatajpa
스프링 데이터 Jpa 간단한 튜토리얼 입니다. 초보용^^;
스프링 부트, 메이븐..
내용은 간단한 매핑, CRUD, 페이징, 스프링 부트조금.
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)내훈 정Easy to understand review of nature of the Lock-free algorithm.
작년에 KGC2013에서 했던 내용의 업데이트 버전임. C++11에 맞추어 업데이트 되었음.
What is Texture.pdfDong Heon ChoThe document discusses texture analysis in computer vision. It begins by asking what texture is and whether objects themselves can be considered textures. It then outlines several statistical and Fourier approaches to texture analysis, citing specific papers on texture energy measures, texton theory, and using textons to model materials. Deep convolutional neural networks are also discussed as being able to recognize and describe texture through learned filter banks. The concept of texels is introduced as low-level features that make up texture at different scales from edges to shapes. The document hypothesizes that CNNs are sensitive to texture because texture repeats across images while object shapes do not, and that CNNs act as texture mappers rather than template matchers. It also questions whether primary visual cortex
BADGEDong Heon ChoThis document discusses active learning techniques called Deep Badge Active Learning. It proposes using gradient embeddings to represent samples and k-means++ initialization for sample selection. Specifically, it uses the gradient embedding for feature representation, then performs k-means++ initialization to select samples by finding those with the maximum 2-norm and those farthest from existing samples, adding them to the set iteratively. This aims to select a diverse set of samples, similar to how binary search works. The technique could improve over entropy-based and core-set selection approaches for active learning with convolutional neural networks.
Neural Radiance FieldDong Heon ChoNeural Radiance Fields (NeRF) represent scenes as neural networks that map 5D input (3D position and 2D viewing direction) to a 4D output (RGB color and opacity). NeRF uses an MLP that is trained to predict volumetric density and color for a scene from many camera views. Key aspects of NeRF include using positional encodings as inputs to help model view-dependent effects, and training to optimize for integrated color and density values along camera rays. NeRF has enabled novel applications beyond novel view synthesis, including pose estimation, dense descriptors, and self-supervised segmentation.
All about that poolingDong Heon ChoThe document discusses various pooling operations used in image processing and convolutional neural networks (CNNs). It provides an overview of common pooling methods like max pooling, average pooling, and spatial pyramid pooling. It also discusses more advanced and trainable pooling techniques like stochastic pooling, mixed/gated pooling, fractional pooling, local importance pooling, and global feature guided local pooling. The document analyzes the tradeoffs of different pooling methods and how they can balance preserving details versus achieving invariance to changes in position or lighting. It references several influential papers that analyzed properties of pooling operations.
Background elimination reviewDong Heon ChoThis document discusses background elimination techniques which involve three main steps: object detection to select the target, segmentation to isolate the target from the background, and refinement to improve the quality of the segmented mask. It provides an overview of approaches that have been used for each step, including early methods based on SVM and more recent deep learning-based techniques like Mask R-CNN that integrate detection and segmentation. The document also notes that segmentation is challenging without object detection cues and discusses types of segmentation as well as refinement methods that use transformations, dimension reduction, and graph-based modeling.
Transparent Latent GANDong Heon Cho1. TL-GAN matches feature axes in the latent space to generate images without fine-tuning the neural network.
2. It discovers correlations between the latent vector Z and image labels by applying multivariate linear regression and normalizing the coefficients.
3. The vectors are then adjusted to be orthogonal, allowing different properties to be matched while labeling unlabeled data to add descriptions.
Image matting atocDong Heon ChoImage matting is the process of separating the foreground and background of an image by assigning each pixel an alpha value between 0 and 1 indicating its transparency. Traditionally, matting uses a trimap to classify pixels as foreground, background, or uncertain. Early sampling-based methods calculated alpha values based on feature distances of closest foreground and background pixels. More recent approaches use deep learning, where the first deep learning matting method in 2016 took local and non-local information as input, and the 2017 Deep Image Matting method used an RGB image and trimap as input in a fully deep learning framework.
Multi object Deep reinforcement learningDong Heon ChoThis document discusses multi-objective reinforcement learning and introduces Deep OLS Learning, which combines multi-objective learning with deep Q-networks. It presents Deep OLS Learning with Partial Reuse and Full Reuse to handle multi-objective Markov decision processes by finding a convergence set of policies that optimize multiple conflicting objectives, such as maximizing server performance while minimizing power consumption. The approach is evaluated on multi-objective versions of mountain car and deep sea treasure problems.
Multi agent reinforcement learning for sequential social dilemmasDong Heon ChoThis document summarizes research on multi-agent reinforcement learning in sequential social dilemmas. It discusses how sequential social dilemmas extend traditional matrix games by adding temporal aspects like partial observability. Simulation experiments are described where agents learn cooperative or defective policies for tasks like fruit gathering and wolfpack hunting in a partially observable environment. The agents' learned policies are then used to construct an empirical payoff matrix to analyze whether cooperation or defection is rewarded more, relating the multi-agent reinforcement learning results back to classic social dilemmas.
Multi agent SystemDong Heon ChoThis document discusses multi-agent systems and their applications. It provides examples of multi-agent systems for spacecraft control, manufacturing scheduling, and more. Key points:
- Multi-agent systems consist of interacting intelligent agents that can cooperate, coordinate, and negotiate to achieve goals. They offer benefits like robustness, scalability, and reusability.
- Challenges include defining global goals from local actions and incentivizing cooperation. Games like the prisoner's dilemma model social dilemmas around cooperation versus defection.
- The document outlines architectures like the blackboard model and BDI (belief-desire-intention) model. It also provides a manufacturing example using the JADE platform.
Hybrid reward architectureDong Heon ChoThe document discusses Hybrid Reward Architecture (HRA), a reinforcement learning method that decomposes the reward function of an environment into multiple sub-reward functions. In HRA, each sub-reward function is learned by a separate agent using DQN. This allows HRA to learn complex reward functions more quickly and stably compared to using a single reward signal. An experiment is described where HRA learns to eat 5 randomly placed fruits in an environment over 300 steps more effectively than a standard DQN agent.
Use Jupyter notebook guide in 5 minutesDong Heon ChoTutorial of Jupyter notebook in a fast way.
Introduce what is notebook and simple shortcuts
- command mode, edit mode
Deep Learning AtoC with Image PerspectiveDong Heon ChoDeep learning models like CNNs, RNNs, and GANs are widely used for image classification and computer vision tasks. CNNs are commonly used for tasks like classification, detection, segmentation through learning hierarchical image features. Fully convolutional networks with encoder-decoder architectures like SegNet and Mask R-CNN can perform pixel-level semantic segmentation and instance segmentation by combining classification and bounding box detection. Deep learning has achieved state-of-the-art performance on many image applications due to its ability to learn powerful visual representations from large datasets.
How can we train with few dataDong Heon ChoThe document discusses approaches for using deep learning with small datasets, including transfer learning techniques like fine-tuning pre-trained models, multi-task learning, and metric learning approaches for few-shot and zero-shot learning problems. It also covers domain adaptation techniques when labels are not available, as well as anomaly detection for skewed label distributions. Traditional models like SVM are suggested as initial approaches, with deep learning techniques applied if those are not satisfactory.
Domain adaptation ganDong Heon ChoThe document discusses domain adaptation and transfer learning techniques in deep learning such as feature extraction, fine tuning, and parameter sharing. It specifically describes domain-adversarial neural networks which aim to make the source and target feature distributions indistinguishable and domain separation networks which extract domain-invariant and private features to model each domain separately.
12. 마지막
VGG 16 (bt FC) + VGG 16 (bt GAP) + VGG 16 (ft FC) + Data Augmentation! ( 데이터 3배 )
13. 아! Cartpole 문제는 봤는데
https://gym.openai.com/envs/CartPole-v0 + http://www.modulabs.co.kr/RL_library/3192
Obervation >
x : position of cart on the track
θ : angle of the pole with the vertical
dx/dt : cart velocity
dθ/dt : rate of change of the angle
Action >
Right || Left
Reward >
0 || 1 ( 쓰러짐, 안 쓰러짐 )
음 이거 Qlearning이나 Policy Gradient하면 만점 나오던데!
모연 블로그 보고 해야지!
22. 아 high level 사용 불가…
https://stackoverflow.com/questions/42530216/how-to-access-weight-variables-in-keras-
layers-in-tensor-form-for-clip-by-weight : 나중에 집에가서 된다는거 알게됨…
24. 1차 시도… 하다가 끝남 DCGANhttps://github.com/davinnovation/mlc2017_onsite_dcgan/blob/maste
r/models.py
조금 얕은 GAN
4->8->16->50
한번 더 깊은 GAN
4->8->16->16->50
25. 참고… 하면 좋을 것https://github.com/davinnovation/mlc2017_onsite_dcgan/blob/maste
r/models.py
현재는 계산 문제로 4->8->16에서 stride 3을 주어서
conv2d_transpose를 통해 50으로 늘렸으나 ( 16->50 )
컴퓨터가 좋으면 16->32->64 -> 50으로…
비어있는 부분이 채워질 듯…?
참고로… 구현하다가 대회의 General 한 Attack & Defense는
뒷전으로…
26. 중간 이슈들…
< Google Cloud >
gsutil을 windows bash에서 사용하려고 하니 계속 python 2 의존 문제가 생겨서
이건 windows cmd에서 하고, gcloud는 bash에서 하고…
< 트레이닝 참사 >
TF 1.3으로 멋도 모르고 하고 있다가 TF 1.3은 아직 GC가 지원 안해서 1.2로
내리고 다시 트레이닝
< Deconv(conv trans) 계산 >
https://tensorflow.blog/a-guide-to-convolution-arithmetic-for-deep-learning/
http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html
이거 보고 계산했습니다…
27. Onsite 후기
1. 밥이 좋아
2. 밥이 맛있어
3. 커피 좋네요…
4. Google Cloud 명령어를 몰라요 ㅠㅠ
28. 부록
Online 대회에서 Cat vs Dog, Quick Draw 대회
1등 비결 공유
Cat vs Dog : 앙상블 100개 했어요 (ㄷㄷ)
Quick Draw : Resnet Fine – tune하고 앙상블
했어요…
(궁금한 것 – Quick Draw는 어떤 weight를 가져온 걸까…? )