def _get_shared_bottom_tops(top, layers):
	"""
	Get the layers that have the same bottom layer as given top layer's.
	This happens for most pooling layers and all concat layers, where
	outputs are branched to several convolution layers on top.
	"""
	tops = []
	for l in layers:
		if set(top.bottom).intersection(l.bottom) and l.type != "Noise":
			tops.append(l)
	return tops